更新時間: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[]