Java中如何比較字串?

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 ,原因:忽略大小寫,比較具體的值,值相同