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