Почему метод concat () Java не делает ничего?
Этот код:
String s = "TEST"; String s2 = s.trim(); s.concat("ING"); System.out.println("S = "+s); System.out.println("S2 = "+s2);
приводит к этому результату:
S = TEST S2 = TEST BUILD SUCCESSFUL (total time: 0 seconds)
Почему «ТЕСТ» и «ИНГ» не объединяются вместе?
- Что такое внутреннее представление Java для String? Изменен UTF-8? UTF-16?
- Преобразование строки в целое число на Android
- Обрезать строку на всех словах в .NET C #
- Как преобразовать байт UTF-8 в строку?
- Java String не работает
- C # как преобразовать большую строку HEX в двоичную
- Сочетание строк в Java всегда приводит к созданию новых строк в памяти?
- Java конвертирует int в hex и обратно
- Функция PadLeft в T-SQL
- Как удалить все неабелевые числовые символы из строки в MySQL?
- Использование значений Enum как строковых литералов
- Как я могу выделить Unescape и Reescape в .net?
- Разделить строку строки фрейма данных на несколько столбцов
Строка неизменна , то есть вы не можете изменить String в Java. concat () возвращает новую, конкатенированную строку.
String s = "TEST"; String s2 = s.trim(); String s3 = s.concat("ING"); System.out.println("S = "+s); System.out.println("S2 = "+s2); System.out.println("S3 = "+s3);
Поскольку String
неизменен – class String
не содержит методов, которые изменяют содержимое самого объекта String
. Метод concat()
возвращает новую String
, содержащую результат операции. Вместо этого:
s.concat("ING");
Попробуй это:
s = s.concat("ING");
Я думаю, что вы хотите сделать:
s2 = s.concat("ING");
Функция concat не изменяет строку s, она просто возвращает s с добавленным аргументом.
concat
возвращает строку, поэтому вы в основном вызываете concat, не сохраняя то, что он возвращает. Попробуй это:
String s = "Hello"; String str = s.concat(" World"); System.out.println(s); System.out.println(str);
Должен печатать:
Hello Hello World
.concat()
возвращает новое конкатенированное значение. там вы сделали s.concat("ING")
-> это дает возвращаемое значение «Тестирование». Но вы должны получить его в объявленной переменной.
Если вы сделали s=s.concat("ING");
то значение «s» изменится на «ТЕСТИРОВАНИЕ»,
Поскольку String неизменна, когда concat () вызывается на любом String obj как
Строка s = “abc”; новый String obj создается в String pool ref by s
s = s.concat (“def”); здесь создается еще одна String obj с val abcdef и ссылается на s