これは、明確さを向上させ、コードの将来のメンテナがもたらす可能性のある微妙なエラーを防ぐために採用できる多くの「安全なプログラミング」手法の1つです。次の例を見てください。
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
1つの解決策は、をにすること=
ですString
。別の解決策は、を明示的に:に変換するint
ことです。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