Назад к вопросам
JuniorТеорияЧасто
Что выведет программа?
public class Main {
public static void main(String[] args) {
P a = new P(1, 2);
P b = new P(1, 2);
System.out.println(a.equals(b) + " " + a);
}
}
record P(int x, int y) {}true P[x=1, y=2]
- Ждать
false:equalsзаписи сравнивает компоненты по очереди, поэтому две записи с одинаковыми данными равны, хотя==даётfalse. - Ждать, что программа не скомпилируется: конструктор, методы чтения,
equals,hashCodeиtoStringзаписи пишет сам компилятор.
- Что напечатает
a == bдля этих двух записей и почему? - Как получить точку, как
a, но сx, равным 5?