七叶笔记 » java编程 » java中==和equals的区别是什么

java中==和equals的区别是什么

== 和 equals 区别:

对于 == :

作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等;

作用于引用类型的变量,则比较的是所指向的对象的地址。

对于 equals:

equals方法不能作用于基本数据类型的变量;

如果没有对Object中equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址,反之则比较的是内容。

实例:

String str1 = "abc";String str2 = "abc";String str3 = new String("abc");String str4 = new String("abc");
当:  str1 == str2    输出:true    当:str1.equals(str2); 输出:true当:  str1 == str3 输出:false      当:str1.equals(str3); 输出:true当:  str3 == str4 输出:false      当:str3.equals(str4); 输出:true

推荐教程:Java教程

相关文章