美文网首页
==和equals的区别

==和equals的区别

作者: 哈哈海 | 来源:发表于2016-11-24 21:55 被阅读0次

==
操作符专门用来比较两个变量的值是否相等。也就是用于比较变量所对应的内存中所存储的值是否相同。要比较两个基本类型数据或两个引用变量是否相同,只能用==操作符。

equals
如果一个引用指向的数据是对象类型的,则涉及两块内存了,对象本身占一块(堆),引用或变量占一块(栈)变量对应的内存所存储的数值就是对象所占用的那块内存的首地址。对于指向对象类型的变量,如果要比较两个变量是否同时指向同一个对象,这时候就需要用==来操作了。equals用于比较两个独立的对象的内容是否相同。
比如:String a = new String("foo");
String b = new String("foo");
两条new 语句创建了两个对象,然后用a,b 这两个变量分别指向了
其中一个对象,这是两个不同的对象,它们的首地址是不同的,即a
和b 中存储的数值是不相同的,所以,表达式a==b 将返回false,
而这两个对象中的内容是相同的,所以,表达式a.equals(b)将返回
true。

相关文章

  • Java 比较相等

    Java Equals() 特性 Equals() 和 == 的区别 重写Equals方法 重写HashCode方法

  • java 中 String == 原理 equals 和

    == 和equals的区别

  • 【面试1】

    基础 1、equals和==(equals和==的区别)equals:是Object的一个方法,实现对象的比较;复...

  • HashCode和Equals的区别

    HashCode和equals的区别: String方法的equals方法和HashCode方法 String的H...

  • ==和equals

    ==和equals的区别: ==和equals方法都是用来比较两个变量/对象是否相等。 如果没有重写equals方...

  • == 和 equals() 区别

    解释 代码 重写equals方法

  • ==和equals区别

    基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boo...

  • ==和Equals区别

    ==和Equals区别 对于基本数据类型:(byte、short、char、int、float、double、lo...

  • ==和Equals区别

    对于基本数据类型:(byte、short、char、int、float、double、long、boolean),...

  • 微小知识点合集

    1、equals和equalsIgnorecase有什么区别? 在JAVA里面,牵扯到equals和equalsI...

网友评论

      本文标题:==和equals的区别

      本文链接:https://www.haomeiwen.com/subject/uqkipttx.html