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

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

Сообщение Anonymous »


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

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

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

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

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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