如何解决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 举报,一经查实,本站将立刻删除。