gpt4 book ai didi

.NET object.Equals(object, object) 的 Java 等价物

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:33:59 25 4
gpt4 key购买 nike

在.NET System.Object中定义了一个静态方法

bool Equals(object a, object b);

a 可能为 null 的情况下,这是 a.Equals(b) 的有用替代方法。如果 ab 都为 null,它也会返回 true。

我在 Java 的框架中找不到等效的方法(这些天我的 Java 有点生疏了。)我能收集到的最简洁的代码是:

(a==null && b==null) || (a!=null && a.Equals(b))

有这样的方法吗?

注意 我不想依赖任何外部框架。我只是好奇这个简单的方法是否存在于核心 Java 类库中。

最佳答案

我想你想要的是ObjectUtils.equals .

 ObjectUtils.equals(null, null)                  = true
ObjectUtils.equals(null, "") = false
ObjectUtils.equals("", null) = false
ObjectUtils.equals("", "") = true
ObjectUtils.equals(Boolean.TRUE, null) = false
ObjectUtils.equals(Boolean.TRUE, "true") = false
ObjectUtils.equals(Boolean.TRUE, Boolean.TRUE) = true
ObjectUtils.equals(Boolean.TRUE, Boolean.FALSE) = false

如果您有兴趣,这里是库中的代码...

public static boolean equals(Object object1, Object object2) {
if (object1 == object2) {
return true;
}
if ((object1 == null) || (object2 == null)) {
return false;
}
return object1.equals(object2);
}

关于.NET object.Equals(object, object) 的 Java 等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5566235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com