Этот код:
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)
Почему "ТЕСТ" и "ING" не связываются вместе?
Строка является неизменяемой, то есть вы не можете изменить строку в 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);
Я думаю, что вы хотите сделать следующее:
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
Поскольку String
является неизменяемым - класс String
не содержит методов, изменяющих содержимое самого объекта String
. Метод concat()
возвращает новую String
, содержащую результат операции. Вместо этого:
s.concat("ING");
Попробуйте так:
s = s.concat("ING");