Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: Общие вопросы > equals и "==" |
Автор: ressac 23.2.2009, 11:17 | ||||
получим "=="
получим "!=" почему? ![]() |
Автор: PashaOvechkin 23.2.2009, 11:57 | ||||
Есть такая штука в яве. Если создаёш 2 одинаковых обьекта так:
то при запуске создастся 1 обьект, а s1 и s2 будут на него ссылаться. Так сделано в целях економии памяти. И с етим нужно быть осторожным... Сам напарывался Если:
то s1 и s2 будут ссылаться каждый на свой обьект. Ето просто нужно знать. П.С Официальное описание от sun найти не удалось... |
Автор: ressac 23.2.2009, 12:07 |
спасибо почему-то так и думал ![]() |
Автор: chand0s 24.2.2009, 11:35 | ||
to автор топика: А еще помедитируйте над методом String.intern(), чтобы лучше понять как строки в Java устроены. Например, этот код опять выведет "=="
|
Автор: lando1 24.2.2009, 13:06 |
для строк всегда надо .equals() использовать. |
Автор: nitzshe 25.2.2009, 12:47 |
вот здесь можно по теме посмотреть: http://www.skipy.ru/technics/objCompPr.html#str_equals_vs_eqeq |
Автор: Connie 26.2.2009, 10:11 |
http://forum.vingrad.ru/forum/topic-231836/unread-1.html |
Автор: aleksandy 26.2.2009, 10:50 | ||
Строка - это объект, а объекты сравниваются методом equals() вот и все описание |
Автор: ShellRaiser 26.2.2009, 12:56 | ||||||
народ, в яве есть такая штука как ссылка на объект в случае если ты сравниваеш базовые типы, такие как инт, булен, которые не являются объектами классов, то оператор "==" проверяет значения объектов в случе если же это объекты, то будет проверять не значение а ссылка на объект т.е. если я сделяю так:
то s1==s2 выдаст тру, поскольку они ссылаются на один и тотже объект в памяти поэтому все строки желательно сравнивать через equals к примеру :
ещё правильным тоном сравнение строк и констан является следущий код:
поскольку иногда вы не можете всё предусмотреть и вам придёт налловый объект str1 и токда прилага упадёт с наллпоинтером... |
Автор: Kangaroo 26.2.2009, 14:24 |
Блин, да PashaOvechkin вторым постом уже три дня назад ответил на поставленный вопрос. Зачем каждый заходит и дописывает еще что-то? Пишите в FAQ тогда уже, полезней будет ![]() |
Автор: ShellRaiser 26.2.2009, 15:22 |
прокрутил линк) незаметил) зато никуда ссылаццо не надо) |