时间:2021-05-19
本文实例为大家分享了java 中equals和==的区别的具体代码,供大家参考,具体内容如下
java9举例代码:
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() 输出:true
str1.intern().equals(str2.intern()) 输出:true
str1.intern() == str1 输出:false
- String str = new String("abc");创建了几个对象?
首先要看常量池里是否有“abc”这个字符串,如果有(String str = "abc";出现时则有),则创建一个,如果没有,则创建两个(一个在常量池,一个在堆中)。
== 和 equals 区别:
对于 == :
作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等;
作用于引用类型的变量,则比较的是所指向的对象的地址;
对于 equals:
equals方法不能作用于基本数据类型的变量;
如果没有对Object中equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址,反之则比较的是内容;
以上所述是小编给大家介绍的java 中equals和==的区别详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
详解Java中equals和==的区别1前言 在Java语言中,equals和==都是用来检测两个字符串是否相等,返回值也都是布尔型(boolean),但是两
前言Java中的堆和常量池的区别是什么呢?Object.equals与String.equals的区别呢?下面让我妈通过一个小示例让你明白它~1、基础知识Jav
Java中==运算符与equals方法的区别及intern方法详解1.==运算符与equals()方法2.hashCode()方法的应用3.intern()方法
Java中“==”与equals()的区别 对于关系操作符“==”,《Java编程思想》中是这样描述的:“关系操作符生成的是一个boolean结果,它们计算的是
在Java中==和equals的区别,感觉只有很少的人能才完全说正确。常见的错误回答就是:==基础类型对比的是值是否相同,引用类型对比的是引用是否相同;而equ