網頁

2017/9/6

Java 字串陣列Array轉String

在Java中如果要將字串陣列Array轉成String,可使用Arrays.toString()


或使用Java 8的String.join()

若直接使用Array.toString()只會印出Array物件的hash code。

String[] stringArray = { "John", "Bill", "Mary" };

System.out.println(stringArray); // [Ljava.lang.String;@2a139a55
System.out.println(Arrays.toString(stringArray)); // [John, Bill, Mary]

// 移除方括弧一
StringBuilder sb = new StringBuilder();
if (stringArray.length > 0) {
    for (int i = 0; i < stringArray.length; i++) {
        sb.append(i == 0 ? stringArray[i] : "," + stringArray[i]);
    }
}
System.out.println(sb.toString()); // John,Bill,Mary

// 移除方括弧二
String s = Arrays.toString(stringArray);
s = s.substring(1, s.length() - 1); // 移除前後括弧
s = s.replaceAll("\\s+", ""); // 移除字串中的空白
System.out.println(s); // John,Bill,Mary

// 使用Java 8 String.join()
String.join(",", stringArray);  // John,Bill,Mary


若是多維陣列,可改用Arrays.deepToString()

String[][] deepArray = new String[][] {{"John", "Mary"}, {"Alice", "Bob"}};
  
System.out.println(Arrays.toString(deepArray)); // [[Ljava.lang.String;@15db9742, [Ljava.lang.String;@6d06d69c]
  
System.out.println(Arrays.deepToString(deepArray)); // [[John, Mary], [Alice, Bob]]

如果覺得文章有幫助的話還幫忙點個Google廣告,感恩。


沒有留言:

張貼留言