为什么Java的concat()方法不做任何事情?

2022-09-02 11:15:06

此代码:

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)

为什么“TEST”和“ING”没有连接在一起?


答案 1

字符串是不可变的,这意味着您无法在 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);

答案 2

因为 是不可变的 - 类不包含更改对象本身内容的方法。该方法返回一个包含操作结果的新方法。取而代之的是:StringStringStringconcat()String

s.concat("ING");

试试这个:

s = s.concat("ING");