我想比较散列表中存在的向量值与其他向量,如果向量值相同,我想要执行某些操作,否则我必须执行保存,但我总是得到两者中的向量值是不同的。因为我正在处理旧项目,所以不能使用泛型。
Hashtable hCompareTable = rUtil.getEventForComparing(dateSel,e.getTimeZone(),listUserEvents);
Enumeration eventsCompareKey = hCompareTable.keys();
while (eventsCompareKey.hasMoreElements()) {
String compareKey = (String) eventsCompareKey.nextElement();
Vector compareEventData = (Vector) hCompareTable.get(compareKey);
if (compareKey.equals(dateSel)) {
for (int i = 0; i < compareEventData.size(); i++) {
EventData eCompare = (EventData) compareEventData.elementAt(i);
for (int j = 0; j < object.size(); j++) {
EventData eveObject = (EventData) object.elementAt( j )
if (eveObject.getSummary().equals(eCompare.getSummary())) {
syso("equal")
}
else{
//do something
}
我没有得到比较两个向量中的数据有多么糟糕,因为向量具有EventData bean值。
答案 0 :(得分:1)
您是否始终与lastElement
向量的object
进行比较?您正在迭代对象的大小,但始终使用向量对象的最后一个元素。
另外,你可能需要改变它:
EventData eveObject = (EventData) object.elementAt( j ); // object.lastElement();
答案 1 :(得分:0)
EventData是否正确覆盖了Object.equals(Object)方法?