我们都知道在Java中int是基本数据类型,而String是引用类型,那么
int[]是什么类型呢?
通过下面的代码,可以验证
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] array ={1,2};
if(array instanceof int[]){
System.out.println("存在类型int[]");
}else{
System.out.println("false");
}
System.out.println(array.getClass().getCanonicalName());
String[] strs={"1m2"};
if(strs instanceof String[]){
System.out.println("存在类型String[]");
}else{
System.out.println("false");
}
System.out.println(strs.getClass().getCanonicalName());
Integer[] ints={1,2};
if(ints instanceof Integer[]){
System.out.println("存在类型Integer[]");
}else{
System.out.println("false");
}
System.out.println(ints.getClass().getCanonicalName());
}
运行结果如下
存在类型int[]
int[]
存在类型String[]
java.lang.String[]
存在类型Integer[]
java.lang.Integer[]
说明Java中将数组作为一种特殊的引用类型处理,这就是为什么数组可以以null初始化同时可以出现的instanceof关系操作符的右操作数位置上的原因了