【发布时间】:2016-03-03 10:54:39
【问题描述】:
你能帮我解决这个问题吗?
我正在尝试比较 (n) 个数字对象列表中的字段。
为了更清楚,这里是一个例子。
ArrayList<TestObjectType> listOfObjects = new ArrayList<TestObjectType>();
TestObjectType itemA = new TestObjectType();
itemA.setID(1);
TestObjectType itemB = new TestObjectType();
itemA.setID(2);
TestObjectType itemC = new TestObjectType();
itemA.setID(3);
//do compare here
if (2 == listOfObjects.size())
{ TestObjectType itemA = listOfObjects.get(0);
TestObjectType itemB = listOfObjects.get(1);
if (itemA.getID != itemB.getID)
{ //do something here
;
}
}
else if (3 == listOfObjects.size())
{ TestObjectType itemA = listOfObjects.get(0);
TestObjectType itemB = listOfObjects.get(1);
TestObjectType itemC = listOfObjects.get(2);
if ((itemA.getID != itemB.getID) ||
(itemA.getID != itemC.getID) ||
(itemB.getID != itemC.getID))
{ //do something here
;
}
}
// so on and so forth until all (n) number of objects has been compared
问题是,我怎样才能满足迭代列表中任意 (n) 个对象的需求?
【问题讨论】:
-
为什么不实现 equals() 和 hashCode() 并使用 Set ?