public ClassA
{
private String firstId;
private String secondId;
public void setFirstId(String firstId) {
this.firstId = firstId;
}
public String getFirstId() {
return id;
}
public void setSecondId(String secondId) {
this.secondId = secondId;
}
public String getSecondId() {
return secondId;
}
}
public ClassB
{
private String firstId;
private String secondId;
public void setFirstId(String firstId) {
this.firstId = firstId;
}
public String getFirstId() {
return id;
}
public void setSecondId(String secondId) {
this.secondId = secondId;
}
public String getSecondId() {
return secondId;
}
}
我有上述2類(POJO)中,其是絕對相同(除了當然名稱),其我加入兩個的ArrayLists:aListA和aListB。我需要比較兩個對象是否相同。如果它們是相同的,我需要將它們添加到另一個列表(commonList),如果它們碰巧不同,我需要將它們添加到另一個列表(differentList)。我寫了下面的代碼:相等對象比較:JAVA
ClassA clsA = null;
public ArrayList genCommonList(aList, bList)
{
for(int i = 1; i<aList.size(); i++)
{
clsA = new ClassA;
Object obj = aList.get(i);
clsA = (ClassA)obj;
if(bList.contains(clsA)
{
genCommonList.add(clsA);
}
}
public ArrayList genDifferentList(aList, bList)
{
for(int i = 1; i<aList.size(); i++)
{
clsA = new ClassA;
Object obj = aList.get(i);
clsA = (ClassA)obj;
if(!bList.contains(clsA)
{
genDifferentList.add(clsA);
}
}
我的問題是,即使在2層不同的POJO的數據(這兩個變量,firstId和secondID)是相同的,它們會放在不同的目錄。這意味着對象不會使用ArrayList類的contains()方法進行比較。我不想從POJO中的每個變量中獲取數據並進行比較。有沒有辦法比較兩個變量的POJO,並將其確定爲相等或不相等?
爲什麼有兩個不同的類,如果它們是相同的呢? – 2012-02-11 04:10:43