其实这个区别主要分为一下两种:
下面贴上小demo:
/**
* 比较的是equals()和==的区别
* @author
*
*/
public class EqualsAndDengYu {
public static void main(String args[]){
String str1 = "abc";
String str2 = "abc";
//对于都是基本类型时,==和equals()比较的都是两个的值是否相等
System.out.println(str1 == str2);
System.out.println(str1.equals(str2));
System.out.println("=====================");
//对于是引用类型和基本类型时,==比较的是内存地址是否相等,即是否是同一对象;equals()比较的是值相等
String str3 = new String("abc");
System.out.println(str1 == str3);
System.out.println(str1.equals(str3));
System.out.println("=====================");
//对于都是引用类型时,==比较的是内存地址是否相等,即是否是同一对象;equals()比较的是值相等
String str4 = new String("abc");
System.out.println(str3 == str4);
System.out.println(str3.equals(str4));
}
}
运行结果: