public class RiskLabelHelper {
public static Set<String> getRiskLabel(String type) {
return null;
}
@Test
public void testAssert() {
Set<String> aa = new HashSet<String>();
Set<String> bb = new HashSet<String>();
aa.add("11");
aa.add("22");
bb.add("22");
bb.add("11");
// bb.add("33");
Assert.assertEquals(aa, bb);
List<List<String>> cc = new ArrayList<List<String>>();
List<String> ee = new ArrayList<String>();
ee.add("11");
ee.add("22");
List<String> ff = new ArrayList<String>();
ff.add("aa");
ff.add("bb");
cc.add(ee);
cc.add(ff);
List<List<String>> dd = new ArrayList<List<String>>();
List<String> gg = new ArrayList<String>();
gg.add("11");
gg.add("22");
List<String> hh = new ArrayList<String>();
hh.add("aa");
hh.add("bb");
dd.add(hh);
dd.add(gg);
Assert.assertEquals(cc, dd);
}
}
第一个比较 Assert.assertEquals(aa, bb); 返回true,说明对象String顺序对list 无影响。
第二个比较Assert.assertEquals(cc, dd); 返回false,说明对象List<String>顺序对list有影响。
报错为
FAILED: testAssert
java.lang.AssertionError: Lists differ at element [0]: [aa, bb] != [11, 22] expected [[aa, bb]] but found [[11, 22]]
猜测其原因,应该为List<String> 被转换成数组进行比较了,数组的顺序为固定的。