假设我有一个名为 Customer 的实体和一个名为 CustomerMapper 的帮助器类,它从表单中获取值。然后我将这个 CustomerMapper 发送到服务层,在那里我从 getter 中提取值并将新客户添加到数据库中。
但是现在我需要遍历 aList<Customer>
并检查 customerID 是否包含在另一个ArrayList<CustomerMapper>
. 我读到 .contains() 方法在元素上调用 .equals() 。所以我想知道在 Customer 上实现 equals() 是否正确,我将发送一个 CustomeMapper 类型的对象,我会将 customer.getId() 与 customerMapper.customerId() 进行比较。
如果答案是否定的,请详细说明为什么会这样。
编辑:
这就是我想出的。我已经遍历了两个 arralists 并创建了Map<Long, Customer>
and Map<Long, CustomerMapper>
. 基本上我需要删除所有 ID 不包含在Map<Long, CustomerMapper
> 中的客户。现在我迭代Map<Long, Customer>
并调用Map<Long, CustomerMapp>.contaisKey(currentElement).
这是一个很好的解决方案,因为这样我就有了三个 for 循环。