Java中如何在字符数组元素间快速添加空格?
给字符数组元素间添加空格的快速方法
针对你遇到的问题,这里提供几种简单高效的解决方案:
方法1:使用String.join(Java 8+)
先将char数组转换为String数组,再用String.join指定分隔符拼接:
public static void main(String[] args) { char arr[] = {'g', 'a', 'p', 'e', 't'}; String[] strElements = new String[arr.length]; for (int i = 0; i < arr.length; i++) { strElements[i] = String.valueOf(arr[i]); } System.out.println("Array: " + String.join(" ", strElements)); }
方法2:使用Stream流(Java 8+)
通过Stream简化转换和拼接流程,代码更简洁:
import java.util.stream.Collectors; public static void main(String[] args) { char arr[] = {'g', 'a', 'p', 'e', 't'}; String spacedStr = new String(arr).chars() .mapToObj(c -> String.valueOf((char) c)) .collect(Collectors.joining(" ")); System.out.println("Array: " + spacedStr); }
方法3:手动StringBuilder拼接
如果不想依赖Java 8+特性,手动用StringBuilder拼接是最直接的方式:
public static void main(String[] args) { char arr[] = {'g', 'a', 'p', 'e', 't'}; StringBuilder sb = new StringBuilder(); for (int i = 0; i < arr.length; i++) { sb.append(arr[i]); // 避免最后一个元素后多出空格 if (i != arr.length - 1) { sb.append(" "); } } System.out.println("Array: " + sb.toString()); }
原代码中new String(arr)只是将字符数组直接转换为连续字符串,不会自动添加元素间的空格,所以需要通过上述方式手动处理分隔。
内容的提问来源于stack exchange,提问作者Jack Wilson
相关产品推荐
相关产品推荐

