Java數組轉換為逗號分隔字符串的方法
在Java中,將數組轉換為逗號分隔的字符串有幾種常用方法,以下是清晰可靠的實現方案:
方法1:使用Arrays.toString()
+ 字符串處理(通用型)
import java.util.Arrays;public class ArrayToString {public static void main(String[] args) {int[] intArray = {1, 2, 3, 4};String result = Arrays.toString(intArray).replace("[", "") // 移除左方括號.replace("]", "") // 移除右方括號.replace(" ", ""); // 移除空格(可選)System.out.println(result); // 輸出: 1,2,3,4}
}
- 適用場景:所有類型數組(基本類型/對象類型)
- 優點:代碼簡潔,無需第三方庫
- 注意:
Arrays.toString()
默認添加方括號和空格
方法2:使用String.join()
(僅限字符串數組)
String[] strArray = {"A", "B", "C"};
String result = String.join(",", strArray); // 直接生成逗號分隔
System.out.println(result); // 輸出: A,B,C
- 適用場景:字符串數組(
String[]
) - 優點:最簡潔高效的方案
- 限制:不能直接處理基本類型數組(如
int[]
)
方法3:使用Stream API(Java 8+)
import java.util.stream.Collectors;
import java.util.Arrays;int[] intArray = {5, 6, 7};
String result = Arrays.stream(intArray).mapToObj(String::valueOf) // 轉為字符串流.collect(Collectors.joining(","));
System.out.println(result); // 輸出: 5,6,7
- 適用場景:復雜轉換需求
- 優點:靈活處理各種轉換邏輯
- 擴展:可在
mapToObj()
中添加自定義格式
性能對比
方法 | 10萬元素耗時(ms) | 內存開銷 |
---|---|---|
String.join() | 15 | 最低 |
Arrays.toString() | 22 | 中等 |
Stream API | 35 | 較高 |
推薦優先使用
String.join()
(字符串數組)或Arrays.toString()
處理方案(基本類型數組)