java 中equals和==的区别
2019-02-25 16:12:13来源:博客园 阅读 ()
java9举例代码:
1 String str1 = "abc"; 2 String str2 = "abc"; 3 String str3 = new String("abc"); 4 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方法进行重写,则比较的是引用类型的变量所指向的对象的地址,反之则比较的是内容;
原文链接:https://www.cnblogs.com/stamp/p/java_base_compare.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash