【发布时间】:2010-11-10 17:00:13
【问题描述】:
我是 Java 新手,但如果我理解正确的话,char 是一种原语。
执行 char temp 和 temp.hashCode() 不会编译,但执行 char[] temp2 = new char[2] 和 temp2.hashCode() 将编译并执行。
这是否意味着 char[] 是一个对象???
【问题讨论】:
标签: java arrays object primitive-types
我是 Java 新手,但如果我理解正确的话,char 是一种原语。
执行 char temp 和 temp.hashCode() 不会编译,但执行 char[] temp2 = new char[2] 和 temp2.hashCode() 将编译并执行。
这是否意味着 char[] 是一个对象???
【问题讨论】:
标签: java arrays object primitive-types
char 是一个基元,但 char 类型的数组是一个对象
一种判断方法是动态实例化它:
final Object charArray = Array.newInstance(Character.TYPE, 5);
System.out.println(charArray.getClass().getComponentType());
输出:
字符
(Character.TYPE 是对原始类char 的引用。访问该类的另一种方法是通过char.class)
【讨论】:
char.class。
char.class 只是对Character.class 的引用(根据docjar.com/html/api/java/lang/Character.java.html)。所以我想我们都是对的;)
是的。所有的数组都是对象,甚至是原始类型的数组。
【讨论】:
是的,所有数组都是 Java 中的对象。
【讨论】:
是的,每种类型的每个 Array 都是一个对象。
【讨论】:
是的,数组是java中的对象。
【讨论】:
数组不仅仅是几个基本类型,它还有一个“长度”字段。原始类型没有字段。将数组与原始类型分开的另一件事是它们是引用,因此必须进行垃圾回收。
【讨论】: