栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Java中对字符串和对象使用equals()方法

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Java中对字符串和对象使用equals()方法

因为
String的equals()
比较内容,而不是对象本身。

公共布尔等于(Object anObject)

将此字符串与指定对象进行比较。当且仅当参数不为null且该

String
对象表示与此对象相同的字符序列时,结果为true 。

    public boolean equals(Object anObject) {    if (this == anObject) {        return true;    }    if (anObject instanceof String) {        String anotherString = (String)anObject;        int n = count;        if (n == anotherString.count) { char v1[] = value; char v2[] = anotherString.value; int i = offset; int j = anotherString.offset; while (n-- != 0) {     if (v1[i++] != v2[j++])         return false; } return true;        }    }    return false;}

(链接到String.equals()的源)


等于Object相等

类的equals方法

Object
在对象上实现了最有区别的对等关系。也就是说,对于任何非空引用值
x
y
,当且仅当
x
y
引用同一对象(
x== y
具有值
true
)时,此方法返回true 。

public boolean equals(Object obj) {    return (this == obj);}

(链接到Object.equals()的源)

另外,请不要忘记

equals()
函数的约定:

equals方法对非null对象引用实现对等关系:

  • 这是 自反的 :对于任何非null的参考值
    x
    x.equals(x)
    应返回true。
  • 它是 对称的
    :对于任何非空引用值
    x
    y
    x.equals(y)
    当且仅当
    y.equals(x)
    返回true时,才应返回true。
  • 它是 传递
    性:对于任何非空的参考值
    x
    y
    以及
    z
    ,如果
    x.equals(y)
    回报率
    true
    y.equals(z)
    回报率
    true
    ,那么
    x.equals(z)
    应该返回
    true
  • 它是 一致的
    :对于任何非null的引用值
    x
    和,只要不修改对象的equals比较中使用的信息
    y
    ,就可以多次调用
    x.equals(y)
    一致返回
    true
    或一致返回
    false
  • 对于任何非null的参考值
    x
    x.equals(null)
    应返回
    false



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/516603.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号