为了账号安全,请及时绑定邮箱和手机立即绑定

为什么Java的concat()方法什么都不做?

/ 猿问

为什么Java的concat()方法什么都不做?

烧仙草VB 2019-12-06 11:09:01

这段代码:


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”没有连接在一起?


查看完整描述

3 回答

?
拉莫斯之舞

String是不可变的,这意味着您无法在Java中更改String。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);


查看完整回答
反对 2019-12-06
?
湖上湖

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


s.concat("ING");

尝试这个:


s = s.concat("ING");


查看完整回答
反对 2019-12-06
?
侃侃无极

concat返回一个字符串,因此您基本上是在调用concat而不存储它返回的内容。尝试这个:


String s = "Hello";

String str = s.concat(" World");

System.out.println(s);

System.out.println(str);

应打印:


Hello

Hello World


查看完整回答
反对 2019-12-06

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信