具有相同维数和元素类型的数组属于同一个类型,即具有相同的Class实例对象,代表数组的Class实例对象的getSuperclass()方法返回的是父类Object类对应的Class,int[ ] i=new int[5];i.getName()方法返回[I ,表示类型是int类型的数组。
直接打印数组对象,只能打印数组对象的类型和哈希值,Arrays.asList(Object[])可以将数组转化成容器打印,可以打印数组中每个元素的内容,JDK1.5版本中将参数变成了可变参数,<T> List<T> asList(T... a)。
Array工具类用于完成对数组的反射操作。不确定某个对象是具体对象,还是数组对象的方式如下:
printObject(Object obj){
Class class=obj.getClass();
if(class.isArray(){
int len=Array.getLength(obj);
for(int i=0;i<len;i++)
Array.get(obj,i);
else
直接打印obj;
}
目前还找不到比较好的方法得到数组中元素的类型。就是说我们拿Object接收一个数组对象,可以求得某个元素的具体类型,但无法取得该数组的类型。
|
|