JAVA如何判斷兩個字串是否相等
阿新 • • 發佈:2018-12-16
1、java中字串的比較是==比較引用,equals 比較值
so我們經常習慣性的寫上if(str1==str2),這種寫法在java中可能會帶來問題
example1: String a="abc";String b="abc",
那麼a==b將返回true。因為在java中字串的值是不可改變的,相同的字串在記憶體中只會存
一份,所以a和b指向的是同一個物件;
example2:String a=new String("abc"); String b=new String("abc");
那麼a==b將返回false,此時a和b指向不同的物件。
2、用equals方法比較的是字串的內容是否相同,
example:String a=new String("abc");
String b=new String("abc"); a.equals(b);將返回true。
通常情況下,為了避免出現上述問題,判斷字串是否相等使用equals方法
if(str1.equals(str2) ){
System.out.println("字串相等");
}else{
System.out.println("字串不相等");
}