网站首页 语言 会计 电脑 医学 资格证 职场 文艺体育 范文
当前位置:书香门第 > IT认证 > JAVA认证

JAVA认证开源技术:关于Java的对象equals方法

栏目: JAVA认证 / 发布于: / 人气:1.83W

在学习JAVA认证过程中,每个人会遇到每个人不同的问题,或小或大,下面yjbys小编为大家分享的是关于Java的对象equals方法,希望对大家学习JAVA有帮助!

JAVA认证开源技术:关于Java的对象equals方法

不是所有的equals都是比较整个对象的。

  #1.普通Object类:

先看源码:

public boolean equals(Object obj) {

return (this == obj);

}

看到了没,用"==",比较的是对象引用,也就是地址。假如两个对象传入的参数一样,但是都用new去创建,地址就不同了,那么用equals返回的'就是false.

  #ng类:

先看源码:

public boolean equals(Object anObject) {

if (this == anObject) {

return true;

}

if (anObject instanceof String) {

String anotherString = (String)anObject;

int n = count;

if (n == t) {

char v1[] = value;

char v2[] = e;

int i = offset;

int j = et;

while (n-- != 0) {

if (v1[i++] != v2[j++])

return false;

}

return true;

}

}

return false;

}

比较的是内容,所以只要内容一样,用new去创建的两个String对象,调用equals返回true.

  #ger类

先看源码:

public boolean equals(Object obj) {

if (obj instanceof Integer) {

return value == ((Integer)obj)。intValue();

}

return false;

}

一样是比较内容。