2010-11-10 65 views
4

我是新來的Java,但如果我理解正確,char是一個原語。在Java中,是一個char []對象嗎?

做char temp和temp.hashCode()不會編譯,但會執行char [] temp2 = new char [2]和temp2.​​hashCode()將編譯和執行。

這是否意味着某種形式的char []是一個對象?

回答

16

一個char是原始的,但char類型的數組是一個對象

一個方式告訴是通過動態地實例化它:

final Object charArray = Array.newInstance(Character.TYPE, 5); 
System.out.println(charArray.getClass().getComponentType()); 

輸出:

Character.TYPE是對原始類char的引用。訪問該類的另一種方式是通過char.class

+1

*這是你訪問該類的唯一方式。*錯誤,你可以使用'char.class'。 – whiskeysierra 2010-11-10 17:26:02

+0

@威利真,忘了。編輯我的回答 – 2010-11-10 17:32:55

+0

另一個有趣的點,'char.class'只是對'Character.class'的引用(根據http://www.docjar.com/html/api/java/lang/Character.java.html) 。所以我想我們都是對的;) – whiskeysierra 2010-11-10 17:37:48

0

是的,所有數組都是Java中的對象。

0

是的,每種類型的每個數組都是一個對象。

0

是數組是java中的對象。

7

是的。所有數組都是對象,甚至是原始類型的數組。

0

一個數組不僅僅是幾個原始類型,它還有一個「長度」字段。原始類型沒有字段。另一個將數組設置爲原始類型的東西是它們是引用,因此必須進行垃圾回收。

相關問題