更新時(shí)間:2023-02-16 來源:黑馬程序員 瀏覽量:
要搞清楚這個(gè)問題,我們先要明白數(shù)組的概念。通常我們講的數(shù)組是說具有相同類型的數(shù)據(jù)集合,它們一般具有固定的長度,而且在內(nèi)存中占據(jù)連續(xù)的空間。在C/C++語言中,數(shù)組名只是一個(gè)指針,這個(gè)指針指向了數(shù)組的首元素,既沒有屬性也沒有方法可以調(diào)用,而在Java語言中,數(shù)組不僅有其自己的屬性(例如length屬性),也有一些方法可以被調(diào)用(例如clone方法)。由于對象的特點(diǎn)是封裝了一些數(shù)據(jù),同時(shí)提供了一些屬性和方法,從這個(gè)角度來講,數(shù)組是對象。每個(gè)數(shù)組類型都有其對應(yīng)的類型,可以通過instanceof來判斷數(shù)據(jù)的類型,示例如下:
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[]"); } }
程序運(yùn)行的結(jié)果為:
the type for a is int[] the type for b is int[][] the type for s is String[]