它是众多“安全编程”实践中的一种,您可以采用这些实践来提高清晰度并防止您或代码的未来维护者可能引入的细微错误.采用以下示例:
private static void printMessage(int k) {
System.out.println("number" + '=' + k);
}
输出:数字= 5
现在假设您要先打印数字,最后打印文本.我正在做的就是交换字符串连接中的第一个和最后一个项目:
private static void printMessage2(int k) {
System.out.println(k + '=' + "number");
}
输出:66数
哎呀! int的int值被添加到k而不是连接.一种解决方案是将=变为String.另一种解决方案是将int显式转换为String:
private static void printMessage2Safe(int k) {
System.out.println(Integer.toString(k) + '=' + "number");
}
输出:5 =数字
“哦,但我永远不会那样做,”你说. “任何心智正常的人都会成为另一个字符串的一部分.”但是,如果您要实现基本计算器应用程序的一部分,并且想要输出表达式及其结果,该怎么办?如果你真的想要小心,我想你会使用StringBuilder.append()来连接表达式的各个部分.但如果没有,那么我希望你不要编写下面显示方法的第一个实现.
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