我对Java还不熟悉,但如果我理解正确,char是一个原始类型。
执行 char temp 和 temp.hashCode() 将无法编译通过,但执行 char[] temp2 = new char[2] 和 temp2.hashCode() 可以编译并执行。
这是否意味着 char[] 是一个对象?
我对Java还不熟悉,但如果我理解正确,char是一个原始类型。
执行 char temp 和 temp.hashCode() 将无法编译通过,但执行 char[] temp2 = new char[2] 和 temp2.hashCode() 可以编译并执行。
这是否意味着 char[] 是一个对象?
一个char
是原始类型,但是一个char
类型的数组是一个对象。
有一种方法可以区分它们,那就是通过动态实例化来判断:
final Object charArray = Array.newInstance(Character.TYPE, 5);
System.out.println(charArray.getClass().getComponentType());
输出:
char
(Character.TYPE
是对原始类 char
的引用。另一种访问该类的方式是通过 char.class
)
是的,在Java中所有的数组都是对象。
是的,每种类型的数组都是一个对象。
是的,在Java中,数组是对象。
char.class
。 - whiskeysierrachar.class
只是对Character.class
的引用(根据http://www.docjar.com/html/api/java/lang/Character.java.html)。所以我想我们两个都是正确的 ;) - whiskeysierra