|
Модераторы: LSD, AntonSaburov |
|
Sandeepkamra |
|
||||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 7.7.2022 Репутация: нет Всего: нет |
Всем привет,
Я провел исследование String POOL в Java https://www.scaler.com/topics /java/string-pool-in-java/ и у меня есть сомнения, что я создал 2 строки в пуле строк без использования нового ключевого слова, как показано ниже.
Я делаю еще один, соединяя более двух строк, как показано на рисунке.
результат обманчив. Мне нужно знать цель результата, связана ли она с неизменностью, т.е. состояние строки не может быть изменено. Ваша помощь будет оценена по достоинству. Заранее спасибо. Это сообщение отредактировал(а) Sandeepkamra - 28.7.2022, 15:51 |
||||
|
|||||
LSD |
|
|||
Leprechaun Software Developer Профиль Группа: Модератор Сообщений: 15708 Регистрация: 24.3.2004 Репутация: 209 Всего: 537 |
Строковые литералы всегда создаются в пуле.
это будет создано в пуле. При конкатенации строк неявно создается StringBuilder которым конкатенируются строки и у которого вызывается toString() это всегда создает новую строку. Так что s3 это новая строка не в пуле и == s+s1 тоже новая строка, не s3. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |