您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

java equals和==的区别

2024/3/29 3:37:06发布14次查看
java9举例代码:              (推荐学习:java课程)
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
涉及到的细节:
- 可以通过string中intern方法,字符串对象在常量池中和它相等的字符串的引用
str3.intern() == str4.intern()输出:truestr1.intern().equals(str2.intern())输出:truestr1.intern() == str1 输出:false- string str = new string("abc");创建了几个对象?
首先要看常量池里是否有“abc”这个字符串,如果有(string str = abc;出现时则有),则创建一个,如果没有,则创建两个(一个在常量池,一个在堆中)。
equals和==的区别
对于 == :
作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等;
作用于引用类型的变量,则比较的是所指向的对象的地址;
对于 equals:
equals方法不能作用于基本数据类型的变量;
如果没有对object中equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址,反之则比较的是内容
以上就是java equals和==的区别的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product