Java 2 ArrayLists 具有相同顺序的相同元素在相等检查

问题描述

我有一个测试用例来检查对象列表的排序方法,我在排序后打印了两个列表的内容,并且它们具有相同顺序的相同元素。但是 testList.equals(correctList) 返回 false。有谁知道为什么?

测试用例

List<KthPopularNamesReport.KthPopularNames> correctList = new ArrayList<KthPopularNamesReport.KthPopularNames>();
        List<KthPopularNamesReport.KthPopularNames> testList = new ArrayList<KthPopularNamesReport.KthPopularNames>();
        correctList.add(new KthPopularNamesReport.KthPopularNames("A",5,1000,"A"));
        correctList.add(new KthPopularNamesReport.KthPopularNames("A",4,3,1234,2,1,"A"));
        testList.add(new KthPopularNamesReport.KthPopularNames("A","A"));
        KthPopularNamesReport testReport = new KthPopularNamesReport(testList,"",0);
        testReport.sortKthPopularNamesList();
        System.out.println(testReport.getKthPopularNamesList().equals(correctList));
        for (int i = 0; i < testList.size(); i++)
        {
            KthPopularNamesReport.KthPopularNames currentName2 = testList.get(i);
            KthPopularNamesReport.KthPopularNames currentName = testReport.getKthPopularNamesList().get(i);
            System.out.println(currentName.getName()+" "+currentName.getFrequency()+" "+currentName.getoccurrence()+" "+currentName.getPercentage()+" ");
            System.out.println(currentName2.getName()+" "+currentName2.getFrequency()+" "+currentName2.getoccurrence()+" "+currentName2.getPercentage()+" ");
        }

输出

false

A 5 1000 A 

A 5 1000 A 

A 4 1000 A 

A 4 1000 A 

A 3 1234 A 

A 3 1234 A 

A 2 1000 A 

A 2 1000 A 

A 1 1000 A 

A 1 1000 A 

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...