gpt4 book ai didi

Java - 在不同类型的对象上实现相等

转载 作者:行者123 更新时间:2023-11-29 09:55:39 25 4
gpt4 key购买 nike

假设我有一个名为 Customer 的实体和一个名为 CustomerMapper 的辅助类,后者从表单中获取值。然后,我将这个 CustomerMapper 发送到服务层,在服务层我从 getter 中提取值并将一个新的 Customer 添加到数据库中。

但是现在我需要遍历 List<Customer>并检查 customerID 是否包含在另一个 ArrayList<CustomerMapper> 中.我读到 .contains() 方法在元素上调用 .equals() 。所以我想知道在 Customer 上实现 equals() 是否正确,我将发送一个 CustomeMapper 类型的对象,我会将 customer.getId() 与 customerMapper.customerId() 进行比较。

如果答案是否定的,请详细说明为什么会这样。

编辑:

这是我想出来的。我遍历了两个 arralists 并创建了 Map<Long, Customer>Map<Long, CustomerMapper> .基本上我需要删除所有 ID 不包含在 Map<Long, CustomerMapper 中的客户>。现在我遍历 Map<Long, Customer>并调用Map<Long, CustomerMapp>.contaisKey(currentElement).这是一个好的解决方案吗,因为这样我就有了三个 for 循环。

最佳答案

通过实现 equals() 方法来做到这一点是没有意义的,因为这两个对象不相等。

只需提取 id 并检查 CustomerMapper 是否具有相同的 ID。

关于Java - 在不同类型的对象上实现相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12660671/

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