Java中如何比較字串?
Java中字串比較特殊,它不是基本型別,直接使用 == 進行比較是否相等,大多時候不能達到預期結果,正確的方式是使用。equals()方法進行比較,接下來看程式碼演示,來理解:Java中如何比較字串!
// 使用 == 符合預期的情況,原因:指向相同的記憶體地址
boolean bool = “val” == “val” ;
System。out。println(bool); // 輸出:true
// 使用 == 符合預期的情況,原因:指向相同的記憶體地址
boolean bool = “val” == “v”+“al” ;
System。out。println(bool); // 輸出:true
// 使用 == 不符合預期的情況,看著相同,但它們並不同,原因:指向不同的記憶體地址
boolean bool = new String(“val”) == “val”;
System。out。println(bool); // 輸出:false
// 使用 == 不符合預期的情況,看著相同,但它們並不同,原因:指向不同的記憶體地址
boolean bool = new String(“val”) == new String(“val”)
System。out。println(bool); // 輸出:false
// 這個兩值是相同的,原因:比較具體的值,值相同
boolean bool = new String(“val”)。equals(“val”);
System。out。println(bool); // 輸出:true
// 其他相同的情況
String one = “HELLO”;
String two = “HELLO”;
String three = new String(“HELLO”);
String four = “hello”;
one。equals(two); // true ,原因:比較具體的值,值相同
one。equals(three); // true ,原因:比較具體的值,值相同
one。equalsIgnoreCase(four); //true ,原因:忽略大小寫,比較具體的值,值相同