更新时间:2023-02-16 来源:黑马程序员 浏览量:
要搞清楚这个问题,我们先要明白数组的概念。通常我们讲的数组是说具有相同类型的数据集合,它们一般具有固定的长度,而且在内存中占据连续的空间。在C/C++语言中,数组名只是一个指针,这个指针指向了数组的首元素,既没有属性也没有方法可以调用,而在Java语言中,数组不仅有其自己的属性(例如length属性),也有一些方法可以被调用(例如clone方法)。由于对象的特点是封装了一些数据,同时提供了一些属性和方法,从这个角度来讲,数组是对象。每个数组类型都有其对应的类型,可以通过instanceof来判断数据的类型,示例如下:
public class SubClass { public static void main(String[] args) { int [] a = {1,2}; int [] [] b = new int[2][4]; String [] s = {"a","b"}; if(a instanceof int[]) System out.println("the type for a is int[]"); if(b instanceof int[][]) System out.println("the type for a is int[][]"); if(s instanceof String[]) System out.println("the type for a is String[]"); } }
程序运行的结果为:
the type for a is int[] the type for b is int[][] the type for s is String[]