![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
ressac |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
получим "=="
получим "!=" почему? ![]() |
||||
|
|||||
PashaOvechkin |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 394 Регистрация: 1.4.2007 Где: Riga, Latvia Репутация: 2 Всего: 4 |
Есть такая штука в яве.
Если создаёш 2 одинаковых обьекта так:
то при запуске создастся 1 обьект, а s1 и s2 будут на него ссылаться. Так сделано в целях економии памяти. И с етим нужно быть осторожным... Сам напарывался Если:
то s1 и s2 будут ссылаться каждый на свой обьект. Ето просто нужно знать. П.С Официальное описание от sun найти не удалось... Это сообщение отредактировал(а) PashaOvechkin - 23.2.2009, 12:00 |
||||
|
|||||
ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
спасибо
почему-то так и думал ![]() |
|||
|
||||
chand0s |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 19.2.2007 Репутация: 1 Всего: 3 |
to автор топика:
А еще помедитируйте над методом String.intern(), чтобы лучше понять как строки в Java устроены. Например, этот код опять выведет "=="
|
|||
|
||||
lando1 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 138 Регистрация: 30.4.2007 Репутация: нет Всего: нет |
для строк всегда надо .equals() использовать.
|
|||
|
||||
nitzshe |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 27.5.2008 Репутация: нет Всего: нет |
||||
|
||||
Connie |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 382 Регистрация: 12.8.2008 Репутация: 1 Всего: 9 |
||||
|
||||
aleksandy |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 260 Регистрация: 17.12.2006 Репутация: 4 Всего: 5 |
Строка - это объект, а объекты сравниваются методом equals() вот и все описание |
|||
|
||||
ShellRaiser |
|
||||||
![]() еще чуть и закоммичу ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 20.7.2007 Где: Белaрусь, Гродно Репутация: нет Всего: 1 |
народ, в яве есть такая штука как ссылка на объект
в случае если ты сравниваеш базовые типы, такие как инт, булен, которые не являются объектами классов, то оператор "==" проверяет значения объектов в случе если же это объекты, то будет проверять не значение а ссылка на объект т.е. если я сделяю так:
то s1==s2 выдаст тру, поскольку они ссылаются на один и тотже объект в памяти поэтому все строки желательно сравнивать через equals к примеру :
ещё правильным тоном сравнение строк и констан является следущий код:
поскольку иногда вы не можете всё предусмотреть и вам придёт налловый объект str1 и токда прилага упадёт с наллпоинтером... |
||||||
|
|||||||
Kangaroo |
|
|||
![]() AA - Aussie Animal ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2042 Регистрация: 7.10.2006 Где: US Репутация: 21 Всего: 104 |
Блин, да PashaOvechkin вторым постом уже три дня назад ответил на поставленный вопрос. Зачем каждый заходит и дописывает еще что-то?
Пишите в FAQ тогда уже, полезней будет ![]() -------------------- Lost.... |
|||
|
||||
ShellRaiser |
|
|||
![]() еще чуть и закоммичу ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 20.7.2007 Где: Белaрусь, Гродно Репутация: нет Всего: 1 |
прокрутил линк) незаметил)
зато никуда ссылаццо не надо) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |