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

这段代码:


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


慕标5832272
浏览 721回答 3
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);

湖上湖

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

侃侃无极

concat返回一个字符串,因此您基本上是在调用concat而不存储它返回的内容。尝试这个:String s = "Hello";String str = s.concat(" World");System.out.println(s);System.out.println(str);应打印:HelloHello World
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java