2013-05-13 81 views
1

看看,我似乎無法找到與此相同的問題。我的問題是關於Java中的int[]是int []一個對象嗎?

當你創建一個int[],使用此語法:

int[] x = new int[5]; 

這是int[]一部分也讓我覺得這是一個Object的方法,但它並沒有遵循Java命名約定類,這讓我感到困惑。它也是一個原始類型的數組,可以像原始類型一樣使用。

是一個int[](或我猜想的任何基本數組)對象或原始?

+9

http://stackoverflow.com/questions/8781022/is-an-array-an-object-in-java – 2013-05-13 17:33:25

+0

那麼安定那一個。迅速關閉! – christopher 2013-05-13 17:34:14

+1

'System.out.println(x instanceof Object);'given'true' =) – 2013-05-13 17:36:15

回答

7

Java中的數組是Object的子類,因此它是一個對象類型 - 即使它包含基本類型。您可以檢查:

int[] x = new int[5]; 
if (x instanceof Object) 
    System.out.println("It's an Object!"); 
3

Java中的所有數組都被視爲對象。你可以看到這個in the Java Language Specification, Ch. 10:

在Java編程語言,陣列(第4.3.1節),是動態創建的對象,並且可以被分配給Object類型(§4.3.2)的變量。可以在數組上調用Object類的所有方法。

類型int[]Object一個子類,其具有所有從Object的方法。儘管在語法上它看起來與其他對象類型不同(例如,名稱中包含一個基本類型,並且沒有類定義),但Java語言確實將它們視爲對象。

希望這會有所幫助!

-1
int[] x = new int[5]; 

Object a=(Object)x; 

int[] y= (int[])a; 
+2

這是沒有用的,只是指出用戶在問什麼。它並沒有真正回答他們的問題。 – 2013-05-13 17:39:29

0

「的數組是保持單一類型的值的固定數量的容器對象。」這是陣列是如何在oracle tutorials。所以定義不僅基本數組而且對象陣列是對象本身。

相關問題