1. ホーム
  2. java

[解決済み] Enumのvalues()メソッドのドキュメントはどこにあるのでしょうか?

2022-04-20 04:35:46

質問

enum を :

enum Sex {MALE,FEMALE};

そして、以下のようにenumを繰り返し実行します。

for(Sex v : Sex.values()){
    System.out.println(" values :"+ v);
}

Java APIを確認しましたが、values()メソッドが見当たりません?このメソッドがどこから来るのか気になりますね?

APIリンク : https://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html

解決方法は?

このメソッドはコンパイラによって追加されたものなので、javadocでは見ることができません。

3つの場所で文書化されています。

<ブロッククオート

コンパイラは、いくつかの特別なメソッドを自動的に追加します。 列挙型。例えば、静的な値メソッドがあり、これは enum のすべての値を順番に含む配列です。 宣言されています。このメソッドは、一般に for-each コンストラクトを使用して、enum 型の値を繰り返し処理することができます。

  • Enum.valueOf クラス

    (特別な暗黙の values メソッドの説明で触れています。 valueOf メソッド)

enum 型のすべての定数は、その型の暗黙の public static T[] values() メソッドを呼び出すことによって取得できます。

values 関数は、単に列挙されたすべての値をリストアップします。