所以从我对Java的理解,当你写
return value;
它实际上可能会返回两个内容之一:'value'的值,或'value'的引用,具体取决于'value'的类型。据我所知,如果'value'是原始数据类型,则Java返回'value'的值,如果'value'是抽象数据类型,如类,则Java返回对'value'的引用。
现在,我很好奇的是使用枚举返回的行为。如果'variable'的类型为enum,是否返回值或引用?
答案 0 :(得分:7)
任何Enum都是一个扩展java.lang.Enum
的对象,因此您可以获得参考。
答案 1 :(得分:1)
枚举不是原始的。每个类加载器的每个枚举“值”都有一个唯一的对象实例。返回类型是对该唯一对象的引用。