Код: Выделить всё
public static void main(String[] args) {
record Foo(int[] ints){}
var ints = new int[]{1, 2};
var foo = new Foo(ints);
System.out.println(foo); // Foo[ints=[I@6433a2]
System.out.println(new Foo(new int[]{1,2}).equals(new Foo(new int[]{1,2}))); // false
System.out.println(new Foo(ints).equals(new Foo(ints))); //true
System.out.println(foo.equals(foo)); // true
}
Код: Выделить всё
Arrays::deepEqualsПоэтому я думаю, что записи Java 14 (JEP 359) не слишком хорошо работают с массивами, соответствующие методы должны быть сгенерированы с помощью IDE (которая, по крайней мере, в IntelliJ, по умолчанию генерирует «полезные» методы, т.е. они используют статические методы в массивах).
Или есть какое-то другое решение?
Подробнее здесь: https://stackoverflow.com/questions/612 ... and-arrays
Мобильная версия