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

如何在不使用二维数组的情况下动态创建具唯一名称的数组?

解决方案

你的需求核心是创建随机数量的一维数组(每个长度为10),但不能使用二维数组,你尝试的array+i这种动态命名变量的写法在Java中不合法——变量名无法在运行时动态生成。以下是符合要求的实现方式:

实现思路

用一维数组存储数组对象:Java中数组属于引用类型,可将每个长度为10的String[]作为元素存入另一个一维数组中,以此规避二维数组的直接使用。

代码实现

import java.util.Random;

public class ArrayChallenge {
    public static void main(String[] args) {
        Random random = new Random();
        int randomNumber = random.nextInt(15) + 1; // 生成1-15之间的随机行数,可按需调整范围

        // 用Object类型一维数组存储所有String数组,避免直接声明二维数组
        Object[] rowContainer = new Object[randomNumber];

        for (int i = 0; i < randomNumber; i++) {
            // 创建长度为10的String数组并放入容器
            rowContainer[i] = new String[10];
        }

        // 示例操作:给某一行赋值并读取
        String[] targetRow = (String[]) rowContainer[2];
        targetRow[3] = "示例内容";
        System.out.println(targetRow[3]);
    }
}

关键说明

  • 使用Object[]作为容器,完全符合“强制使用数组但禁止二维数组”的要求,未使用String[][]这类二维数组声明。
  • 存取数组时需做类型转换((String[])),因为Object[]中的元素默认是Object类型,转换后才能进行String[]的相关操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 03:30:48