Назад к вопросам
JuniorТеорияЧасто
Что выведет программа?
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
int[] a = {1, 2};
int[] b = {1, 2};
System.out.println((a == b) + " " + Arrays.equals(a, b));
}
}false true
- Ждать
true true:==для массивов сравнивает ссылки, а два литерала{1, 2}создают два отдельных массива. - Ждать, что
Arrays.equalsтребует один и тот же массив: он сравнивает длину и элементы по порядку, и равное содержимое даётtrue.
- Что вернёт
Arrays.equalsдля{1, 2}и{2, 1}? - Что напечатает
a == cпослеint[] c = a;?