永发信息网

为什么在Object arr = Array.newInstance(Array.class, 3, 4, 10);newInstance处会报错啊????

答案:2  悬赏:70  手机版
解决时间 2021-03-10 18:13
package com.reflect.classinfo;

import java.lang.reflect.Array;

public class ArrayTest {
public static void main(String[] args) {
// 创建一个三维数组
// 说明,我们学过:三维数组也是一维数组,是数组元素是二维数组的一维数组,因此可以认为arr是长度为3的一维数组
Object arr = Array.newInstance(Array.class, 3, 4, 10);

// 获取arr数组中index为2的元素,应该是二维数组
Object arrObj = Array.get(arr, 2);

// 使用Array为二维数组的数组元素赋值,二维数组的数组元素是一维数组,所以传入Array set方法的第三个参数一维数组
Array.set(arrObj, 2, new String[] { "Jack", "John" });
// 获取arrObj数组中index为3的元素,应该是一维数组
Object anArr = Array.get(arrObj, 3);
Array.set(anArr, 8, "Lucy");
// 将arr强制类型转换为三维数组
String[][][] cast = (String[][][]) arr;
// 获取cast三维数组中指定元素的值
System.out.println(cast[2][3][8]);
System.out.println(cast[2][2][0]);
System.out.println(cast[2][2][1]);
}
}
最佳答案
Object arr = Array.newInstance(Array.class, 3, 4, 10);

改成

Object arr = Array.newInstance(String.class, 3, 4, 10);

就可以了。
全部回答
搜一下:为什么在Object arr = Array.newInstance(Array.class, 3, 4, 10);newInstance处会报错啊????
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
( )胸( )足 乐( )不( ) 忠于( )( ) ( )( )充
痘痘肌用什么爽肤水
孝义市孔子学术研究会在什么地方啊,我要过去
荥阳八小什么时候开学的问题,教育部门是不是
两波相遇振幅为两波振幅之和吗,这符合能量守
请问南京南G1894到站12:29,乘地铁过去赶乘14
电脑玩着玩着就黑屏显示无信号,但是主机还在
渭南有哪几个县
捡到他人物品自己可以用吗?风水上好吗
巴音淖尔中心医院地址在哪,我要去那里办事
solidworks 操作过程中 出现“试图越过其尾端
睡眠卡怎么注销
什么叫补偿凑泄
关于胰腺癌的描述正确的是A.多数为腺泡癌B.胰
黑色t恤怎么搭配好看
推荐资讯
天龙八部2里 的棉布碎片和秘银碎片在哪里打到
三峡和与朱元思书的异同
电脑怎么删除重复文件
南国十三首(其五)的译文以及相关资料
不导磁性的材料是什么
n3ds怎么固件升级,升级之后烧录卡还能用吗?
新畈村地址在哪,我要去那里办事
胡萝卜的英文是什么
凡字的笔画顺序怎么写
等差数列怎么算有例题
准考证打印要多少钱啊?我刚才打印了成考准考
演员出场耳朵上带的耳机是干什么的
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?