如何在java中连接字符串

时间:2016-03-11 04:38:36

标签: java string printing

这是我的字符串连接代码 StringSecret.java

public class StringSecret {
    public static void main(String[] args) {
        String s = new String("abc");
        s.concat("def");
        System.out.println(s);
    }
}

我预计输出将是“abcdef”,但我只打印“abc”。有什么问题!。

6 个答案:

答案 0 :(得分:2)

在java中,字符串是不可变的。它无法改变。 concat(...)函数不会更改s的值,但它只返回作为s参数传递的参数值。
您必须将其存储在另一个变量中或直接打印或使用s = s.concat("def")

String c = s.concat("def");
System.out.println(c);

对于注释,您只能在java中使用c = s + "def";s += "def"

答案 1 :(得分:2)

String s = new String("abc");
s.concat("def");

enter image description here

 String s = new String("abc");
 s = s.concat("def");

enter image description here

注意: - 不要像这样String a = new String("abc");初始化字符串 只需使用此String a = "abc";

即可

答案 2 :(得分:1)

试试这个..

public class Test {

   public static void main(String args[])
   {
      String s = "Strings are immutable";
      s = s.concat(" all the time");
      System.out.println(s);
   }
}

答案 3 :(得分:1)

在java中,字符串对象是不可变的。永恒只是意味着不可修改或不可改变。 创建字符串对象后,无法更改其数据或状态,但会创建新的字符串对象。

所以要输出“abcdef”写“s.concat(”def“);”

示例

public class StringSecret {

public static void main(String[] args) {
    String s = new String("abc");

    s = s.concat("def");
    System.out.println(s);

  }
}

我希望它会对你有所帮助。

答案 4 :(得分:0)

字符串不要改变,因此连接的结果必须分配给其他东西,否则将丢失 例如:

strcpy(arr[counter][index],token);

答案 5 :(得分:0)

s = s.concat("def");
 System.out.println(s);

您正在连接正确,但您没有在任何地方保存连接的结果。