首页 分享 java 中equals和==的区别

java 中equals和==的区别

来源:花匠小妙招 时间:2024-12-06 14:04

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   输出:true

     - String str = new String("abc");创建了几个对象?

       首先要看常量池里是否有“abc”这个字符串,如果有(String str = "abc";出现时则有),则创建一个,如果没有,则创建两个(一个在常量池,一个在堆中)。

== 和 equals 区别:#

      对于 == :

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

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

      对于 equals:  

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

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

相关知识

Scala中的==与equals
Java 中的“==”和equals()方法比较总结。
借花献佛!朋友干了5年整的Java面试官,给我分享了一份面试官最爱问的Java面试题
《JAVA语言程序设计》期末考试试题及答案
Java的代码书写规范
基于Java的线上花店管理系统设计与实现(源码+lw+部署文档+讲解等)
基于java(ssm)线上花店管理系统设计与实现(源码+lw+部署文档+讲解等)
移动应用开发和安卓移动应用开发区别
基于springboot+vue的Android的作物病虫害防治科普系统的设计与实现app小程序
Java项目:网上花店系统(java+javaweb+jsp+mysql)

网址: java 中equals和==的区别 https://www.huajiangbk.com/newsview918161.html

所属分类:花卉
上一篇: 猕猴桃图片
下一篇: 猕猴桃花有味道吗

推荐分享