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("字符串不相等"); }