这是您可以采用的许多“安全编程”实践之一,以提高清晰度并防止您或您的代码的未来维护者可能引入的细微错误。举个例子:
private static void printMessage(int k) {
System.out.println("number" + '=' + k);
}
输出:number=5
现在假设您想先打印数字,最后打印文本。我所做的只是交换字符串连接中的第一项和最后一项:
private static void printMessage2(int k) {
System.out.println(k + '=' + "number");
}
输出:66number
哎呀!的 int 值=
被添加到k
而不是被连接。一种解决方案是=
将String
. 另一种解决方案是将 显式转换int
为 a String
:
private static void printMessage2Safe(int k) {
System.out.println(Integer.toString(k) + '=' + "number");
}
输出:5=number
“哦,但无论如何我永远不会那样做,”你说。“任何头脑正常的人都会制作=
另一个弦乐的一部分。” 但是,如果您正在实现基本计算器应用程序的一部分,并且想要输出表达式及其结果怎么办?如果你真的很小心,我想你会用它StringBuilder.append()
来连接表达式的各个部分。但如果不是,那么我希望你不要写display
下面方法的第一个实现。
public class Calculator {
public static void main(String[] args) {
display(2, '+', 3, 5);
displaySafe(2, '+', 3, 5);
}
public static void display(int num1, char operator, int num2, int result) {
System.out.println(num1 + operator + num2 + '=' + result);
}
public static void displaySafe(int num1, char operator, int num2, int result) {
System.out.println(Integer.toString(num1) + operator + Integer.toString(num2) + "=" + result);
}
}
输出:
114
2+3=5