2

だから、Javaの私の理解から、あなたが書くとき

return value;

実際には、「value」のタイプに応じて、「value」の値、または「value」への参照のいずれかが返される場合があります。私の知る限り、「value」がプリミティブデータ型の場合、Javaは「value」の値を返します。「value」がクラスのような抽象データ型の場合、Javaは「value」への参照を返します。

さて、私が興味を持っているのは、列挙を伴うリターンの振る舞いです。'variable'がenum型の場合、値または参照が返されますか?

4

2 に答える 2

8

すべての列挙型は拡張するオブジェクトであるjava.lang.Enumため、参照を取得します。

于 2012-05-29T23:57:55.560 に答える
1

列挙型はプリミティブではありません。クラスローダーごとの列挙型「値」ごとに1つの一意のオブジェクトインスタンスがあります。戻り値のタイプは、その一意のオブジェクトへの参照です。

于 2012-05-29T23:59:00.693 に答える