Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 排序顺序断言失败_Java_Arrays_Selenium_Sorting_Assert - Fatal编程技术网

Java 排序顺序断言失败

Java 排序顺序断言失败,java,arrays,selenium,sorting,assert,Java,Arrays,Selenium,Sorting,Assert,我有一个数字列表,我已经将其转换为int数组列表并对该数字进行排序。 问题是在元素[0]:5!=5预期[5],但发现[5]。我不明白问题出在哪里 ArrayList<String> obtainedList = new ArrayList<>(); List<WebElement> elementList = driver.findElements(By.xpath("//mat-table//mat-row/mat-cell[2]")); for (WebE

我有一个数字列表,我已经将其转换为int数组列表并对该数字进行排序。 问题是在元素[0]:5!=5预期[5],但发现[5]。我不明白问题出在哪里

ArrayList<String> obtainedList = new ArrayList<>();
List<WebElement> elementList = driver.findElements(By.xpath("//mat-table//mat-row/mat-cell[2]"));
for (WebElement we : elementList) {
    obtainedList.add(we.getText());
}
List<Integer> result = obtainedList.stream().map(Integer::valueOf).sorted() // sort the elements
        .collect(Collectors.toList());
Collections.sort(result);
//Collections.reverse(result);
Reporter.log(AddRule + obtainedList + result + " Cloumn is display in  Ascending order");
Add_Log.info(AddRule + obtainedList + result + " Cloumn is display in  Ascending order");
Assert.assertEquals(result, obtainedList);
断言失败

java.lang.AssertionError: Lists differ at element [0]: 
5 != 5 expected [5] but found [5]

如何按预期传递此断言,并且找到的值是相同的。

获取列表
是一个
列表
结果
是一个
列表
它们从不相等

您必须在两个列表上使用相同的类型来检查是否相等

java.util.List
的方法执行以下操作:

比较指定对象与此列表是否相等。当且仅当指定的对象也是一个列表、两个列表的大小相同且两个列表中所有对应的元素对相等时,返回true。(如果(e1==null?e2==null:e1.equals(e2)),则两个元素e1和e2是相等的。)换句话说,如果两个列表以相同的顺序包含相同的元素,则将它们定义为相等。此定义确保equals方法在列表接口的不同实现中正常工作


在您的情况下,字符串
“5”
不等于整数
5
,因此测试失败。

如何将AcquiredList更改为整数您已经执行了
AcquiredList.stream().map(Integer::valueOf).sorted().collect(Collector.toList())只需删除
sorted()
“5”(字符串)不等于5(整数)。
java.lang.AssertionError: Lists differ at element [0]: 
5 != 5 expected [5] but found [5]