В тесте, подобном этому:
@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
для Object.
Есть ли способ сделать список способным использовать Arrays.equals/Arrays.hashcode
для сравнения массивов? Или единственным решением является перенос массивов String в объект и переопределение equals/hashcode
?