我是Java的初学者,所以请在评论中放轻松。
String test = "test";
test.concat("test");
System.out.println("concatenated string: " +test);
System.out.println("concatenated test: " +test.concat(test));
为什么第一个打印语句不打印testtest,而第二个打印了?这可能是一个非常基本的问题,但我在网上找不到答案。有人能解释一下吗?
因为您没有将连接的字符串赋值给另一个值(因为concat()
返回结果字符串),所以它丢失了。
如果你想要得到结果,你需要这样做:
test = test.concat("test");
第二个println()
工作,因为结果连接字符串被返回,捕获并立即由System.out.println()
使用,但随后在println()
之外丢失,因为它没有分配(因此,如果您检查test
之后,它仍然只包含"test"
)。
文档如下:http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#concat%28java.lang.String%29