返回枚举值时Java返回的是什么?价值或参考?

时间:2012-05-29 23:56:01

标签: java enums return

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

return value;

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

现在,我很好奇的是使用枚举返回的行为。如果'variable'的类型为enum,是否返回值或引用?

2 个答案:

答案 0 :(得分:7)

任何Enum都是一个扩展java.lang.Enum的对象,因此您可以获得参考。

答案 1 :(得分:1)

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