在这样的测试中:
@Test
public void test() {
List<String[]> l = new LinkedList<String[]>();
l.add(new String [] {"test", "123"});
l.add(new String [] {"test", "456"});
l.add(new String [] {"test", "789"});
assertEquals(3, l.size());
l.remove(new String [] {"test", "456"});
assertEquals(2, l.size());
}
第二个断言(= 2)失败,因为equals/hashcode
使用的list.remove
是default
for 对象。有没有办法让列表能够用来Arrays.equals/Arrays.hashcode
比较数组?或者唯一的解决方案是将字符串数组包装在一个对象中并覆盖equals/hashcode
?