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

Java如何从字符串内容动态初始化int类型二维数组

实现方案

有两种常用的可靠实现方式:

方式1:手动解析字符串(无第三方依赖)

直接对输入的arrContent字符串做字符清理、拆分后转整数即可,代码示例如下:

import java.util.ArrayList;
import java.util.List;

public class StrTo2DArr {
    public static void main(String[] args) {
        // 模拟从文件读取的内容
        String arrContent = "{{0,1},{2,3},{4,5}}";
        
        // 动态适配不同长度的行,支持每行元素个数不一致的场景
        // 去掉首尾的两层大括号
        arrContent = arrContent.substring(2, arrContent.length() - 2);
        // 拆分得到每一行的字符串
        String[] rows = arrContent.split("\\},\\{");
        int[][] a = new int[rows.length][];
        for (int i = 0; i < rows.length; i++) {
            String[] nums = rows[i].split(",");
            a[i] = new int[nums.length];
            for (int j = 0; j < nums.length; j++) {
                a[i][j] = Integer.parseInt(nums[j].trim());
            }
        }
        
        // 验证输出
        for(int i=0; i<a.length; i++) {
            for(int j=0; j<a[i].length; j++) {
                System.out.print(a[i][j]+" ");
            }
            System.out.println();
        }
    }
}

方式2:借助JSON序列化工具(代码更简洁)

如果项目中已经引入了Jackson、Gson等JSON处理库,只需要把字符串的大括号替换成JSON数组的方括号,直接反序列化即可:

// 用Gson举例
import com.google.gson.Gson;

public class StrTo2DArr {
    public static void main(String[] args) {
        String arrContent = "{{0,1},{2,3},{4,5}}";
        // 替换成标准JSON数组格式
        String jsonStr = arrContent.replace('{', '[').replace('}', ']');
        int[][] a = new Gson().fromJson(jsonStr, int[][].class);
        
        // 验证输出
        for(int i=0; i<3; i++) {
            for(int j=0; j<2; j++) {
                System.out.print(a[i][j]+" ");
            }
            System.out.println();
        }
    }
}

注意:如果从文件读取的内容存在异常格式(比如非数字、括号不匹配),需要额外加异常捕获逻辑处理非法输入的情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 10:09:03