如何把char数组转换成String

2023-02-15 12:02:51 char 数组 转换成

把char数组转换成String

调用reverseStr()传入一个字符串"let’s"

  public String reverseStr(String s) {
        int left = 0, right = s.length() - 1;
        char[] chs = s.toCharArray();
        System.out.println(chs);
        while (left < right) {
            char temp = chs[right];
            chs[right] = chs[left];
            chs[left] = temp;
            left++;
            right--;
        }
        return chs.toString();
    }

输出结果

[C@135fbaa4

分析原因

  • Java中,toString方法,会打印出“类名@他的hashCode值”这样的一个字符串。
  • 而我想要的是把char数组转换成String
  • 应该使用String.valueOf()方法

再次测试

s'tel

String.valueOf(char[] data) : 将 char 数组 data 转换成字符串

将传入的数组转为String型,存入数据库。去掉空格和括号[]

将传入的数组转为String,存入数据库。去掉空格和括号的标准写法:

//无空格,无括号
String s3 = StringUtils.join(arr,",");
System.err.println(s3);//41,a,5,g56

其他写法:

public static void main(String[] args) {
//有空格和括号
String [] arr = {“41”,“a”,“5”,“g56”};
String s1 = Arrays.toString(arr);
System.err.println(s1);//[41, a, 5, g56]
//无空格,无括号,无逗号
String s2 = StringUtils.join(arr);
System.err.println(s2);//41a5g56

//无空格,无括号,无逗号
StringBuffer s4 = new StringBuffer();
for (String string : arr) {
s4.append(string);
}
System.err.println(s4.toString());//41a5g56
}

另:java分割包含有多个空格的字符串

String s = "Rita  Love     code"

正确写法

String [] arr = str.split("\\s+");
for(String ss : arr){
    System.out.println(ss);
}

错误写法

String[] arr2 = str.split(" ");
for (String ss : arr2) {
    System.out.println(ss);
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。

相关文章