`
passion99
  • 浏览: 11358 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

==和equals()方法的区别

    博客分类:
  • JAVA
 
阅读更多
       ==表示左右两边的数是否相等,如果是用于基本数据类型变量,因变量存储的是值本身,则比较的是具体的值内容是否相等;如果是用于引用类型,因引用类型变量存储的是引用对象的地址,则比较的是两个地址是否相等。

      equals() 由具体的实现方法决定,不同类可以重载Object类的equals()方法。Object类的equals()为比较两个引用类型变量(内存地址)是否相等。String类中进行了重载,先比较引用类型变量(内存地址),再比较内容是否相等。

示例:

    //创建String对象sa,字符串内容为"tea"的字面量都存储在相同的地址
        String sa = "tea";
        //强制创建一个新对象
        String snew = new String("tea");
        System.out.println("-----------------------");
        List list = new ArrayList<String>();
        list.add("tea");
        System.out.println("tea"==list.get(0));
        System.out.println("tea".equals(list.get(0)));
        System.out.println(sa==list.get(0));
        System.out.println("强制创建对象:"+(snew==list.get(0)));
        System.out.println("先比较地址,再比较内容:"+snew.equals(list.get(0)));

输出结果:

-----------------------
true
true
true
强制创建对象:false
先比较地址,再比较内容:true

备注:上述示例还展示了String对象的不可变,即一旦创建后内容不可变,相同内容的字面量存储在同一块内存空间。

0
0
分享到:
评论

相关推荐

    ==运算符和Equals()方法区别

    ==运算符和Equals()方法区别,从网上找到的,大家看一看吧~

    ==和equals方法究竟有什么区别

    ==和equals方法究竟有什么区别?  == 操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符。  ...

    ==和equals的区别

    java中比较值大小,==和equals的区别,基本数据类型和引用数据类型比较值方法

    equals(Object) 与 == 的区别

    这就是为什么在上面的例子中,使用 equals(Object) 方法比较 s1 和 s2 的结果是 true,而使用 == 运算符比较的结果是 false。 因此,== 运算符比较的是两个对象的引用,而 equals(Object) 方法比较的是两个对象的...

    Java中==运算符与equals方法的区别及intern方法详解

    主要介绍了Java中==运算符与equals方法的区别及intern方法详解的相关资料,需要的朋友可以参考下

    详解java==运算符和equals()方法的区别

    主要介绍了java==运算符和equals()方法的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    C#中的 == 和equals()区别浅析

    主要介绍了C#中的 == 和equals()的区别,对不同点进行了阐述,感兴趣的小伙伴们可以参考一下

    关于Java中的“==”与equals()

    书上的一个例子说明了“==”与equals()方法的区别。 以下是例子代码(摘自《Java核心技术》卷一): Employee.java package equals; import java.time.*; import java.util.Objects; /* * 一个{@Employee}代表

    Java中==与equals的区别小结

    主要介绍了Java中==与equals的区别小结,本文总结结论:== 与 equals()比较的内容是不同的,equals()方式是String类中的方法,它用于比较两个对象引用所指的内容是否相等,而 == 比较的是两个对象引用的地址是否相等,...

    Java中==与equals的区别

    用此blog记录我学习的过程,文中若有不恰当的地方,还望友情指出互相学习。 一、== 主要有两种比较形式 基本数据类型(也称原始数据类型):byte,...Java中所有的类都继承自Object类,equals()方法就在Object类中被

    【面试】hashCode与equals两者之间的关系 / == 和equals / 为什么要重写equals方法 / 重写equals /hashcode方法 / 为什么要重写hashCode方法

    文章目录1、hashCode与equals两者之间的关系2、== 和equals的区别`3、为什么要重写equals()方法?4、重写equals()方法5、为什么要重写hashCode()方法?6、什么时候需要重写hashCode()方法?7、重写hashCode()方法: ...

    面试题~ equals() 和 == 区别

    = = :运算符 可以使用在基本数据类型变量和引用数据类型变量中 如果比较的是基本数据类型变量:比较两个变量保存的数据是否相等。(不一定类型要相同) ...说明:Object类中定义的equals()和**==*

    java中hashcode()和equals()和==的详解

    有许多人学了很长时间的Java,但一直不明白hashCode方法的作用以及equals()和==的区别,我来解释一下吧。首先,想要明白hashCode的作用,你必须要先知道Java中的集合。总的来说,Java中的集合(Collection)有两类,...

    Java面试题和解题答案

    JDK 和 JRE 有什么区别? JDK(Java Development Kit),Java开发工具包 JRE(Java Runtime Environment),Java运行环境 JDK中包含JRE,JDK中有一个名为jre的...如果重写了equals方法,equals比较的是对象的内容;

    3 Java中关于==和equal的区别 以及equals()方法重写

    Java语言是sun公司的开发成果,他的主要特点是可以执行强,与平台的无关性使他的实用性更强。但是Java中的==与equal是有区别的。

    Java面试题-ava-interview-questions-master.zip

    JDK(Java Development Kit),Java开发工具包 JRE(Java Runtime Environment),Java运行环境 JDK中包含JRE,JDK中有一个名为jre的目录,里面包含两个文件夹...如果重写了equals方法,equals比较的是对象的内容;

    Java中equals与==的用法和区别

    主要给大家介绍了关于Java中equals与==的用法和区别的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    Java 常见问题 希望能给你带来帮助

    Java常见问题:我声明了什么!"=="和equals方法究竟有什么区别? 看一下Object对象的equals方法是如何实现的

    java中equals和的比较.doc

    在 Java 编程中,equals 和 == 是两个常用的比较操作符,但它们之间存在着很大的区别。了解这两者的区别非常重要,因为它直接影响着程序的正确性和效率。 在 Java 中,有两种类型的变量:基本类型和引用类型。基本...

    Java面试宝典2014版

    一. Java基础部分 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 2、Java有没有goto? 3、说说&和&&的区别。 4、在JAVA中如何跳出当前的多重嵌套...11、"=="和equals方法究竟有什么区别?

Global site tag (gtag.js) - Google Analytics