powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Что можно сравнивать через == ?
12 сообщений из 12, страница 1 из 1
Что можно сравнивать через == ?
    #38648869
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Какие парвила тут действуют?
P.S. вопрос на синтаксис языка
...
Рейтинг: 0 / 0
Что можно сравнивать через == ?
    #38648917
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90Какие парвила тут действуют?
P.S. вопрос на синтаксис языка
В основном только целочисленные примитивы и энумы (и аналогичные синглтоны). В редких случаях можно использовать для других ссылок. Но я это делаю только тогда, когда получил ссылку в этом же методе и в нем же гарантировано нужно проверить тот же экземпляр. Например в цикле.
...
Рейтинг: 0 / 0
Что можно сравнивать через == ?
    #38648938
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

интересно про аналогичные синглтоны. Какие например ?

я вообще про другие правила)

как я понял можно сравнить на == только то, что можно приравнять на = хотя бы в одну строну. То есть типы должны быть приводимы.
или это не совсем так ?
...
Рейтинг: 0 / 0
Что можно сравнивать через == ?
    #38648949
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90Какие парвила тут действуют?

Фсе.
В первую очередь - примитивы.
Во вторую - null.
В третью очередь ссылки на объекты.
...
Рейтинг: 0 / 0
Что можно сравнивать через == ?
    #38648951
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90интересно про аналогичные синглтоны. Какие например ?

public static final

redwhite90я вообще про другие правила)

Телепаты в отпуске.

redwhite90как я понял можно сравнить на == только то, что можно приравнять на = хотя бы в одну строну. То есть типы должны быть приводимы.
или это не совсем так ?
JLS надо смотреть.
...
Рейтинг: 0 / 0
Что можно сравнивать через == ?
    #38648959
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JLSThe equality operators may be used to compare two operands that are convertible (§5.1.8) to numeric type, or two operands of type boolean or Boolean, or two operands that are each of either reference type or the null type. All other cases result in a compile-time error.
...
Рейтинг: 0 / 0
Что можно сравнивать через == ?
    #38649112
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczJLSThe equality operators may be used to compare two operands that are convertible (§5.1.8) to numeric type, or two operands of type boolean or Boolean, or two operands that are each of either reference type or the null type. All other cases result in a compile-time error.

1.значит можно сравнить то, что можно привести к примитивам(кроме boolean)
2.boolean и Boolean в разных вариациях
2.Две любых ссылки и null в любых вариациях

Код: java
1.
2.
3.
 String str= "";
       Number num = 1;
       System.out.println(str == num);



так говорит, что incompatible types.

Где написано, что они должны быть compatible ?
...
Рейтинг: 0 / 0
Что можно сравнивать через == ?
    #38649169
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть поведение компиллятора при котором строковые константы можно
сравнивать через знак "==" и это работает. Но я не уверен что это можно
принимать за правило или как-то обобщать.
...
Рейтинг: 0 / 0
Что можно сравнивать через == ?
    #38649271
no56892
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90Blazkowiczпропущено...


1.значит можно сравнить то, что можно привести к примитивам(кроме boolean)
2.boolean и Boolean в разных вариациях
2.Две любых ссылки и null в любых вариациях

Код: java
1.
2.
3.
 String str= "";
       Number num = 1;
       System.out.println(str == num);



так говорит, что incompatible types.

Где написано, что они должны быть compatible ?
Дак дальше смотрите:
авторIt is a compile-time error if it is impossible to convert the type of either operand to the type of the other by a casting conversion (§5.5). The run-time values of the two operands would necessarily be unequal.
...
Рейтинг: 0 / 0
Что можно сравнивать через == ?
    #38649505
DEVcoach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonЕсть поведение компиллятора при котором строковые константы можно
сравнивать через знак "==" и это работает. Но я не уверен что это можно
принимать за правило или как-то обобщать.Ну так правильно, стринги же синглтоны. Но сравнивать через == их можно только в том случае, если вы уверены, что с ними не было всяких трюков вроде new String().
...
Рейтинг: 0 / 0
Что можно сравнивать через == ?
    #38649511
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DEVcoachmaytonЕсть поведение компиллятора при котором строковые константы можно
сравнивать через знак "==" и это работает. Но я не уверен что это можно
принимать за правило или как-то обобщать.Ну так правильно, стринги же синглтоны. Но сравнивать через == их можно только в том случае, если вы уверены, что с ними не было всяких трюков вроде new String().

ну собственно если обощить, то строки интернируются в том случае если не используется явное new.
...
Рейтинг: 0 / 0
Что можно сравнивать через == ?
    #38649512
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
на память ещё - Boolean это касается и Integer в диапазоне от -128 до 127
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Что можно сравнивать через == ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]