0

我想将哈希表中存在的向量值与其他向量进行比较,如果向量值相同,我想执行一些操作,否则我必须执行保存,但我总是得到两者中的向量值不同。我不能使用泛型因为我正在处理旧项目。

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 值。

4

2 回答 2

1

您总是与 Vector 进行比较的任何lastElement原因object?您正在迭代对象的大小,但始终使用矢量对象的最后一个元素。

否则,您可能需要将其更改为:

EventData eveObject = (EventData) object.elementAt( j ); // object.lastElement();
于 2012-05-07T11:26:25.950 回答
0

EventData 是否正确覆盖了 Object.equals(Object) 方法?

于 2012-05-07T12:28:05.593 回答