Поведение == с универсальными типамиJAVA

Программисты JAVA общаются здесь
Anonymous
Поведение == с универсальными типами

Сообщение Anonymous »


Рассмотрим следующий фрагмент:

List objs1 = Arrays.asList("один", "два"); List strs1 = (List)(List)objs1; утверждать strs1 == objs1; //ошибка компиляции Поскольку == сравнивает только идентификатор объекта, почему он выдает ошибку компиляции, когда это просто вопрос приведения.

Рассмотрим следующий фрагмент — здесь утверждение не подводит:

String str = "вот и все"; Объект оо = ул; утверждать ул == оо; // утверждает истину И здесь мы делаем то же самое, но все работает нормально.
[*]Почему оператор == ведет себя в зависимости от ссылочного типа, содержащего объект, даже если удерживаемый объект один и тот же?

Вернуться в «JAVA»