java中字符串连接的澄清

  • 本文关键字:连接 字符串 java java
  • 更新时间 :
  • 英文 :


我是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

最新更新