public static String arrayToString(int[] arr) { // 1,2,3... StringBuffer sb = new StringBuffer(); for (int k : arr) { if (sb.length() < 1) { sb.append(String.format("%d", k)); } else { sb.append(String.format(",%d", k)); } } return sb.toString(); }
// int[] arr = {1,2,3,4}; String[] arr = { "0", "1", "2", "3", "4", "5" }; // //使用StringUtils的join方法, 數組轉字符串 org.apache.commons.lang3.StringUtils String str3 = StringUtils.join(arr); // 數組轉字符串,其實使用的也是遍歷 System.out.println(str3); // 012345 String str4 = StringUtils.join(arr, ","); // 數組轉字符串(逗號分隔)(推薦) System.out.println(str4); // 0,1,2,3,4,5 // 使用ArrayUtils的toString方法,數組轉字符串 org.apache.commons.lang3.ArrayUtils String str2 = ArrayUtils.toString(arr, ","); // 數組轉字符串(逗號分隔,首尾加大括號) System.out.println(str2); // {0,1,2,3,4,5}
不帶分隔符
int[] arr = {1,2,3,4}; // String str1 = Arrays.stream(arr).boxed().map(i -> i.toString()) //必須將普通數組 boxed才能 在 map 里面 toString .collect(Collectors.joining("")); System.out.println(str1); String str2 = Arrays.stream(arr).boxed().map(i -> i.toString()).reduce("", String::concat); System.out.println(str2); String str3 = Arrays.stream(arr).boxed().map(Object :: toString).reduce("", String::concat); // 方法引用Object::toString System.out.println(str3);
list -> string 帶分隔符
List<String> list = Arrays.asList("北京","南京","重慶","西安"); String str1 = String.join(",",list); System.out.println(str1); String str2 = list.stream().collect(Collectors.joining(",")); System.out.println(str2);