Java 无法比较矢量数据

Java 无法比较矢量数据,java,collections,vector,hashtable,Java,Collections,Vector,Hashtable,我想将哈希表中的向量值与其他向量值进行比较,如果向量值相同,我不想执行某些操作,否则我必须执行保存,但我总是得到两者中的向量值不同。我不能使用泛型,因为我正在处理旧项目 Hashtable hCompareTable = rUtil.getEventForComparing(dateSel,e.getTimeZone(),listUserEvents); Enumeration eventsCompareKey = hCompareTable.keys(); while (eventsC

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

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
                                       }
Hashtable hCompareTable=rUtil.getEventForComparing(dateSel,e.getTimeZone(),listUserEvents);
枚举事件compareKey=hCompareTable.keys();
while(eventsCompareKey.hasMoreElements()){
String compareKey=(String)eventsCompareKey.nextElement();
Vector compareEventData=(Vector)hCompareTable.get(compareKey);
if(比较键等于(日期选择)){
对于(int i=0;i

我不知道我比较两个向量中的数据有多糟糕,但是向量有EventData bean值。

你总是与
对象的
最后一个元素
进行比较的原因是什么?你在迭代对象的大小,但总是使用向量对象的最后一个元素

其他方面,您可能需要对其进行更改,如:

EventData eveObject = (EventData) object.elementAt( j ); // object.lastElement();

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

即使我使用elementAt(j)它不会给我正确的结果,我只是换成lastElement进行测试@Ravinder@harqs-添加到您的帖子中,您添加到
object
compareEventData
向量实例中的一些示例数据,并打印要调试的摘要值。object几乎没有摘要数据,如a、b、c和compareEventData。调试循环时有时同时输入equal和not equal。@harqs-向我们展示a)您添加的内容,b)为每个数据对象提供eventData id和摘要的sysout。not equal有时不会给我们任何线索。我没有重写equals方法OK,eventData类的实现从何而来?它是您创建的类吗?如果是,我们必须实现equal方法,以便equals方法可以工作:当我们执行eventData1.equals(eventData2);,时,具有相同内部数据的不同EventData实例必须返回true。或者,至少必须对eveObject.getSummary()中返回的对象应用相同的思想.ok我已经创建了EventData类,它是一个包含事件信息的bean类,equals方法实现应该如何定义?可能我们不必重写EventData.equals()。为EventData.getSummary()返回的对象类型是什么?它是一个字符串还是另一个由您提供实现的对象?可能是我们缺少equals(object)方法实现的对象。要与我们共享它吗?公共类EventData实现可持久化的{EventData(){}私有字符串startDate;私有字符串startTime;私有字符串endTime;私有字符串userDate;私有字符串endDate;私有字符串摘要;私有字符串位置;私有字符串时区;私有字符串startHr;私有字符串endHr;私有字符串exactStartDate;私有字符串exactEndDate;私有布尔值isAllDay=false;专用字符串频率;专用整数间隔;专用向量周中的日;专用字符串周中的月;