1、“==”
1)用于比较两个基本数据类型数据是否相等,比较的是内存中存储的值是否相等。
如:int a=100;
int b=100;
则a==b结果为true。
2)用于判断两个引用变量是否指向同一对象。
如:String a="abc";
b=a;
则a==b结果为true。
另外:String a="abc";
String b="abc";
则a==b结果依然为true。(指向字符串常量池中的同一个对象)
2、equals()方法
1)用于比较两个引用变量指向的对象值是否相等。
如:String a=new String("abc");
String b=new String("abc");
则a==b结果为false,a.equals(b)结果为true。
2)对于自定义的类,默认会继承Object对象的equals()方法,代码如下:
public boolean equals(Object o){ return this==o; }
结论:
a)如果自定义类没有覆写Object的equals()方法,则使用equals()的效果和使用“==”一样,即比较两个引用变量是否指向同一个对象。
b)如果想比较自定义类的两个对象是否相等,则需要覆盖Object的equals()方法,定义自己的比较规则。
比如:
public class Person{ private String name; public void setName(String name){ this.name=name; } public String getName(){ return name; } public boolean equals(Object obj){ if(this==obj){ return true; } Person p=(Person)obj; return p.getName().equals(this.name); } }
相关推荐
详细介绍和讲解Java中的==和equals区别
Java中的==与equals()实例方法Java中测试两个变量是否相等的方法有两个,一个是用==运算符,另一个就是object类提供的equals()方法。2
能够加强对java中equals与==区别的理解。
java中比较值大小,==和equals的区别,基本数据类型和引用数据类型比较值方法
==和equals方法究竟有什么区别? == 操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符。 ...
对于开发的程序员小伙伴,大家肯定对于==和equals不陌生,而且会经常用到他,那么又有几个能够说清楚了==和equals是怎么回事呢?他了呢两个有什么区别呢? 比较 == 比较的是栈中的值,基本数据类型是变量值,引用...
java中equals和==的区别.doc java中equals和==的区别.doc
关于Java中==的用法与equals的用法,醉重要的是比较它们的不同之处
简单介绍java中的“==”和equals
主要介绍了Java中==运算符与equals方法的区别及intern方法详解的相关资料,需要的朋友可以参考下
主要介绍了java 中equals和==的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
主要介绍了Java中==与equals的区别小结,本文总结结论:== 与 equals()比较的内容是不同的,equals()方式是String类中的方法,它用于比较两个对象引用所指的内容是否相等,而 == 比较的是两个对象引用的地址是否相等,...
【Java面试题】equals与==的区别
主要介绍了java基础之 “==”与“equals”区别详解,需要的朋友可以参考下
java中的比较运算符== 与 equals()方法 值类型、引用类型
本篇文章介绍了,在java中"==" 与equals方法的使用及其实例,需要的朋友可以参考下
主要介绍了java==运算符和equals()方法的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
Java解惑系列之一--equals和==之间究竟有什么区别 稍微学过一些java的同学都可能在网络上看到这样的一道题: 在java语言当中,equals和==之间究竟有什么区别? 而这道题的答案也是千篇一律: equals是用来比较对象...
主要介绍了浅谈java中==以及equals方法的用法,涉及二者的用法示例,具有一定参考价值,需要的朋友可以了解下。