equals是啥意思
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了equals是啥意思相关的知识,希望对你有一定的参考价值。
参考技术A 1.==比较的是地址2.至于为啥比较的是地址?不是内容。这个是JAVA规定的,不是我们可以控制的
3.说equals比较的是值是完全不对的。要看他是否有重写object的equals方法。如果没有,他比较的肯定是也地址。如果有,那么很有可能他比较的是值,但也不尽然 。可以看他的源码。比如Integer a=1.Doubleb=1;a.equals(b)那肯定是false。因为他在重写时还判断了类型
java中override是啥意思
参考技术A //@Override:覆盖(重写)父类中的一个方法。//下面有一个例子。
//在你的类A中定义一个签名为
//@Override
//public boolean equals(Object obj)的方法就能重写(覆盖)Object类的同名方法了,
//以后调用equals方法比较两个类A的对象的相等性时,就会调用你重写的方法了。
//看例子。
public class Demo
public static void main(String[] args)
A a1=new A(1,'a'),a2=new A(1,'b'),a3=new A(1,'a');
//调用类A的重写的equals方法比较3个对象的相等性
//false
System.out.println(""+a1.equals(a2));
//true
System.out.println(""+a1.equals(a3));
//false
System.out.println(""+a2.equals(a3));
class A
A(int n,char c)
this.n=n;
this.c=c;
//@Override可省略
@Override
public boolean equals(Object obj)
System.out.println("调用了重写的类A的equals方法。");
boolean r=false;
A a;
if(obj instanceof A)
a=(A)obj;
r=(this.n==a.n && this.c==a.c);
return r;
private int n;
private char c;
以上是关于equals是啥意思的主要内容,如果未能解决你的问题,请参考以下文章
"".equals--双引号的equals是啥意思?跪求解释