You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java中如何将类内声明的二维int数组扁平化拼接为单个字符串

实现方案

你可以根据项目使用的JDK版本选择以下两种实现方式:

方式1:JDK 8及以上版本(Stream流实现,代码更简洁)

通过Stream API可以快速完成数组扁平化和拼接操作,示例代码如下:

import java.util.Arrays;
import java.util.stream.Collectors;

// 类内部的方法
public String flattenNumbersToString() {
    // 非空判断避免空指针异常
    if (numbers == null) {
        return "";
    }
    return Arrays.stream(numbers)
            .flatMapToInt(Arrays::stream) // 把二维数组扁平化为一维IntStream
            .mapToObj(String::valueOf) // 将int类型转为字符串
            .collect(Collectors.joining(",")); // 逗号为分隔符,可按需替换为其他字符,比如空字符串""
}

如果需要生成带前后缀的格式,比如[1,2,3,4],可以使用Collectors.joining的三参数重载:Collectors.joining(",", "[", "]")。

方式2:JDK 7及以下版本(传统循环实现,兼容性更好)

如果项目使用低版本JDK,可以用两层循环遍历完成拼接:

// JDK 5及以下版本可以把StringJoiner替换为StringBuilder,最后单独处理末尾多余分隔符即可
import java.util.StringJoiner;

public String flattenNumbersToString() {
    if (numbers == null) {
        return "";
    }
    StringJoiner sj = new StringJoiner(","); // 可按需修改分隔符
    for (int[] row : numbers) {
        if (row == null) {
            continue;
        }
        for (int num : row) {
            sj.add(String.valueOf(num));
        }
    }
    return sj.toString();
}

两种实现都默认增加了空判断逻辑,兼容numbers为null、内部子数组为null的异常场景。

内容的提问来源于stack exchange,提问作者dce fee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 10:06:04