equals相关内容

这等于合法吗?

我遇到了这段代码。我从来没有见过Equals以这样的方式实现。让我印象深刻的是,它真的很“整洁”,从这个意义上说,它只需要一行样板。 然而,我以前从未见过这种方法,这让我产生了怀疑。根据Java Equals和hashCode的合同,以下实现合法吗? @Override public boolean equals(Object o) { return this == o || o ..
发布时间:2022-05-16 11:30:58 Java开发

什么时候在Java中使用引用相等与对象相等是合适的?

我了解这两个术语之间的区别,以及如果您想要检查两个对象是否具有引用或相同的值,您将使用什么方法。我的问题是,与检查两个对象是否具有相同的内容或值(从来没有一次我必须检查两个对象是否具有相同的引用)相比,何时必须检查两个对象是否具有相同的引用? 推荐答案 这并不是真正的“代替”相等性检查,但出于性能和空安全原因,您可以在执行相等性检查之前执行引用检查。 实际上,这就是调用Objec ..
发布时间:2022-05-16 11:24:37 Java开发

如何让Lombok的EqualsAndHashCode与BigDecimal一起工作

我正好有here描述的问题。这就是说,如果BigDecimal的等号被破坏,那么在类中有这样的字段就无法使用@EqualsAndHashCode。我想出的唯一解决方案就是使用exclude这样的字段,但这当然不是最优的。 有什么解决办法吗?有没有办法为字段/类型插入我自己的比较器? 推荐答案 我最近遇到了同样的问题。 基本上,您会看到以下行为: BigDecimal ..
发布时间:2022-05-16 11:17:14 Java开发

我可以让indexOf以不同的方式比较对象吗?

我想使用indexOf,但List中的对象将不是相等的对象,但它们将具有值相等(即。它们相等但不相等)。 我想以与Object.equals方法不同的方式进行indexOf比较。我在考虑重写equals方法以改用我的IsEvalence方法,但我不确定如何做到这一点,如果可能的话。 我尝试了很多版本,但一直收到错误: List items{ ..
发布时间:2022-05-16 10:39:46 Java开发

Equals()方法的工作原理

我正在深入研究Java的基础知识。我从this article推断,Java‘equals’方法意味着,如果两个对象相等,则它们必须具有相同的hashCode()。 这是我的示例。 public class Equals { /** * @param args */ public static void main(String[] args) { ..
发布时间:2022-05-16 10:10:27 Java开发

在 Java 中覆盖 equals 和 hashCode 时应该考虑哪些问题?

在覆盖 equals 和 hashCode 时必须考虑哪些问题/陷阱? 解决方案 理论(语言律师和数学爱好者): equals() (javadoc) 必须定义一个等价关系(它必须是reflexive、symmetric和transitive).此外,它必须是一致的(如果对象没有被修改,那么它必须保持返回相同的值).此外,o.equals(null) 必须始终返回 false. ..
发布时间:2022-01-30 08:37:11 Java开发

equals() 和 hashCode() 的区别

我想要一个关于 equals() 、 "==" 和 hashCode() 的简要定义.如果我运行以下代码意味着输出将是“true false 2420395 2420395".但我知道 equals() 方法比较字符串,“=="比较引用.但是在输出中,hashCcode() 方法将两个字符串的参考号打印为相同,那么为什么“=="返回“false". String str = "Name";字符 ..
发布时间:2022-01-25 09:31:14 Java开发

Java 文件等于

我不了解你们,但至少我预计在下面的代码中 f1 将等于 f2,但显然情况并非如此!您对此有何看法?看来我得自己写个equals方法来支持了,对吧? import java.io.*;公共类 FileEquals{公共静态无效主要(字符串 [] 参数){文件 f1 = new File("./hello.txt");文件 f2 = new File("hello.txt");System.out. ..
发布时间:2022-01-25 09:15:53 Java开发

Java比较2个整数与等于或==?

我对 Java 非常陌生,我想知道如何比较 2 个整数?我知道 == 完成了工作.. 但是等于呢?这可以比较2个整数吗?(当我说整数时,我的意思是“int"而不是“整数").我的代码是: import java.lang.*;导入 java.util.Scanner;//我读取2个整数first_int和second_int//上面的代码如果(first_int.equals(second_in ..
发布时间:2022-01-25 09:05:36 Java开发

如何按值比较两张地图

如何通过值比较两张地图?我有两个包含相等值的地图,并希望通过它们的值来比较它们.这是一个例子: 映射 a = new HashMap();a.put("foo", "bar"+"bar");a.put("动物园", "酒吧"+"酒吧");映射 b = new HashMap();b.put(new String("foo"), "bar"+"bar");b.put(new String("zo ..
发布时间:2022-01-25 08:58:05 Java开发

双等于vs在python中

我在 Python 解释器中运行以下命令: >>>富 = 10>>>目录(foo)==目录(10)真的>>>目录(foo)是目录(10)错误的>>> 这是为什么? 解决方案 is 检查 2 个参数是否引用同一个对象,== 检查 2 个参数是否具有相同的值.dir() 返回一个 list,其中包含 foo 和 10 的相同数据,但实际的 >list 两件事的实例是不同的. ..
发布时间:2022-01-19 16:54:31 Python