Java 『equals』と『 == 』 の違いについて
IF文で条件分岐を行うときに
『equals』と『 == 』を知らずに、『 == 』を使用すると
かなりの確率で不具合(バグ)が発生します。
例えば、下記の処理を実行すると
コンソールには、何が出力されるかわかりますか?
プログラム
public class Test {
public static void main(String[] args) {
String test1 = new String("100");
String test2 = new String("100");
if (test1 == test2) {
System.out.println("同じです");
} else {
System.out.println("違います");
}
if (test1.equals(test2)) {
System.out.println("同じです");
} else {
System.out.println("違います");
}
}
}
コンソール結果
違います
同じです
public class Test {
public static void main(String[] args) {
String test1 = new String("100");
String test2 = new String("100");
if (test1 == test2) {
System.out.println("同じです");
} else {
System.out.println("違います");
}
if (test1.equals(test2)) {
System.out.println("同じです");
} else {
System.out.println("違います");
}
}
}
違います
同じです
Author And Source
この問題について(Java 『equals』と『 == 』 の違いについて), 我々は、より多くの情報をここで見つけました https://qiita.com/banban7/items/bcfafe0e04a91d251c7d著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .