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

如何使用Java 8 Stream替换二维String数组中的null为字符串Z

Java 8 Stream 实现代码

import java.util.Arrays;

public class NullReplaceDemo {
    public static void main(String[] args) {
        String[][] userData = { { "User A", "A" }, { null, null }, { "User B", "B" } };
        
        String[][] result = Arrays.stream(userData)
                .map(innerArr -> Arrays.stream(innerArr)
                        .map(val -> val == null ? "Z" : val)
                        .toArray(String[]::new)
                )
                .toArray(String[][]::new);
                
        // 验证结果逻辑可删除
        for (String[] row : result) {
            System.out.println(Arrays.toString(row));
        }
    }
}

实现逻辑说明

  • 外层通过Arrays.stream(userData)将二维数组转换为元素类型为String[]的流,遍历每一行一维数组
  • 对每一行一维数组再次转流处理,用三元运算符判断元素是否为null,匹配则替换为字符串"Z",否则保留原取值
  • 内层流处理完成后通过toArray(String[]::new)回收为一维字符串数组,外层流再回收为二维字符串数组,最终返回结果的格式和原数组完全一致
  • 该实现不会修改原数组,返回的是独立的新数组,无副作用

运行上述代码的输出结果如下:

[User A, A]
[Z, Z]
[User B, B]

内容的提问来源于stack exchange,提问作者Tamil.S

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 19:33:03