简单说就是数值相同,但是地址相同和不同的区别,举例说明:
public class Test {
public static void main(String[] args){
Test a = new Test();
System.out.println(a.isRight());
System.out.println(a.isWrong());
}
public boolean isRight(){
String str1 = "abc";
String str2 = "abc";
if(str1.equals(str2))
return true;
return false;
}
public boolean isWrong(){
String str1 = new String("abc");
String str2 = new String("abc");
if(str1.equals(str2))
return true;
return false;
}
}
打印结果true,true 如果将equals换成“==”,结果就是true ,false