拆分后如何将值添加到同一字符串

时间:2019-07-03 08:11:38

标签: java

我正在从蓝牙设备获得价值,价值之间用:冒号分隔。我想获取第一个值并将其添加到相同的字符串中:

public String process(String raw) {
    if (raw != null) {
        String[] str_array = raw.split(":");
        String humid1 = str_array[0];
        if (humid1 != null) {
            return raw.add(humid1);
        }
    } else {
        Log.w(TAG, "provided string was null");
    }
}

1 个答案:

答案 0 :(得分:0)

String类中没有add()方法。可以使用+运算符在Java中执行String串联。

String s = "abc:def:ghi";
s = s + s.split(":")[0]; // or s += s.split(":")[0]
System.out.println(s);

以上代码段将打印abc:def:ghiabc 根据您的要求添加空检查和索引范围检查。

请通过String Concatenation | StackOverflow

检查其他方法

编辑根据OP对问题的评论

如果您要更改输入String对象“ raw”并希望其反映在调用者方法中,则不可能,因为String在Java中是不可变的。正确的方法是从您的方法返回结果,并将其分配给调用方方法中的String。

public void myMethod() {
  String s = "abc:def:ghi";
  s = process(s);
  System.out.println(s);
}

public String process(String raw) {
  if (raw != null) {
    String[] str_array = raw.split(":");
    String humid1 = str_array[0];
    if (humid1 != null) {
      return humid1;
    }
  }
  return null; \\ or throw exception as per your choice.
}

以上代码段应打印abc。更多详细信息String Immutability in Java | StackOverflow