我经常在不同的地方找到一种平等的方法.它实际上做了什么?重要的是我们必须在每个班级都有这个吗?
public boolean equals(Object obj)
{
if (obj == this)
{
return true;
}
if (obj == null)
{
return false;
}
if (obj instanceof Contact)
{
Contact other = (Contact)obj;
return other.getFirstName().equals(getFirstName()) &&
other.getLastName().equals(getLastName()) &&
other.getHomePhone().equals(getHomePhone()) &&
other.getCellPhone().equals(getCellPhone());
}
else
{
return false;
}
}
Run Code Online (Sandbox Code Playgroud) List<String> listA = new ArrayList<String>();
listA.add("a");
listA.add("b");
listA.add("c");
listA.add("d");
List<String> listB = new ArrayList<String>();
listB.add("c");
listB.add("d");
listB.add("e");
listB.add("f");
Run Code Online (Sandbox Code Playgroud)
ListB包含两个也存在于ListA("c"和"d")中的元素.
是否有一种干净的方法来确保listB不包含这些或任何其他可能已经存在的重叠元素listA?