java反射里的动态创建数组的小问题,在线等。

2025-06-26 12:44:45
推荐回答(2个)
回答1:

基本类型(int可以换成 char long short boolean double float byte)

int[] arr=(int[])Array.newInstance(int.class,2);
arr[0]=34;
arr[1]=24;
System.out.println(arr[0]+"\n"+arr[1]);

数据类型(Object是你要构建数组的类名,如 String[] ss=(String[])Array.newInstence(String.class,2))

Object[] arr=(Object[])Array.newInstance(Object.class,2);
arr[0]=new Object();
arr[1]=new Object();
System.out.println(arr[0]+"\n"+arr[1]);

需要说明下,,,基本类型数组是一个Object对象,数据类型数组才是Object[]对象
例子:
int[] a=new int[1];
a instenceof Object = true
a instenceof Object[] = false

Object[] os=new Object[1];
os insteneof Object = true
os insteneof Object[] = true

回答2:

因为数组也是Object的子类。

静态方法当然是通过类调用。