2

所以根据我对Java的理解,当你写

return value;

它实际上可能会返回以下两种情况之一:“value”的值,或对“value”的引用,具体取决于“value”的类型。据我所知,如果 'value' 是原始数据类型,Java 返回 'value' 的值,如果 'value' 是抽象数据类型,如类,则 Java 返回对 'value' 的引用。

现在,我很好奇的是枚举返回的行为。如果“变量”是枚举类型,是否返回值或引用?

4

2 回答 2

8

任何Enum都是一个可以扩展的对象,java.lang.Enum因此您可以返回一个引用。

于 2012-05-29T23:57:55.560 回答
1

枚举不是原语。每个类加载器的每个枚举“值”都有一个唯一的对象实例。返回类型是对该唯一对象的引用。

于 2012-05-29T23:59:00.693 回答