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

Mat*_*ttS 1 java enums return

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

return value;
Run Code Online (Sandbox Code Playgroud)

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

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

Edw*_*rzo 7

任何枚举都是一个扩展的对象,java.lang.Enum因此您可以获得引用.