モジュール java.base
パッケージ java.lang.annotation

インタフェースAnnotation

既知のすべての実装クラス:
BeanProperty, BooleanFlag, Category, ConstructorParameters, ConstructorProperties, ContentType, DataAmount, Deprecated, Description, DescriptorKey, Documented, Enabled, Experimental, Frequency, FunctionalInterface, Generated, Inherited, JavaBean, Label, MemoryAddress, MetadataDefinition, MXBean, Name, Native, Override, Percentage, Period, Registered, Relational, Repeatable, Retention, SafeVarargs, Serial, SettingDefinition, StackTrace, SupportedAnnotationTypes, SupportedOptions, SupportedSourceVersion, SuppressWarnings, SwingContainer, Target, Threshold, Timespan, Timestamp, Transient, TransitionFrom, TransitionTo, Unsigned

public interface Annotation
すべての注釈インタフェースによって拡張される共通インタフェースです。 このインタフェースを手動で拡張するインタフェースでは、注釈インタフェースは定義されないことに注意してください。 このインタフェース自体は注釈インタフェースを定義しないことにも注意してください。 注釈インタフェースの詳細は、「Java言語仕様」9.6に関する項を参照してください。 AnnotatedElementインタフェースでは、注釈インタフェースを繰返し不可能から繰返し可能に変更する際の互換性の問題について説明します。
導入されたバージョン:
1.5
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    Class<? extends Annotation>
    この注釈の注釈インタフェースを返します。
    boolean
    指定されたオブジェクトがこれと論理的に等価な注釈を表す場合に、trueを返します。
    int
    この注釈のハッシュ・コードを返します。
    この注釈の文字列表現を返します。
  • メソッドの詳細

    • equals

      boolean equals(Object obj)
      指定されたオブジェクトがこれと論理的に等価な注釈を表す場合に、trueを返します。 つまり、指定されたオブジェクトがこのインスタンスと同じ注釈インタフェースのインスタンスであり、そのメンバーがすべてこの注釈の対応するメンバーと等しい場合にtrueを返します:
      • xyという値を持つ2つの対応するプリミティブ型メンバーは、x == yのときに等価とみなされる。ただし、型がfloatまたはdoubleである場合は除く。
      • xyという値を持つ2つの対応するfloatメンバーは、Float.valueOf(x).equals(Float.valueOf(y))の場合に等価とみなされる。 (==演算子とは違い、NaNはそれ自体と等価とみなされ、0.0f-0.0fと等価ではないとみなされる)
      • xyという値を持つ2つの対応するdoubleメンバーは、Double.valueOf(x).equals(Double.valueOf(y))の場合に等価とみなされる。 (==演算子とは違い、NaNはそれ自体と等価とみなされ、0.0-0.0と等価ではないとみなされる)
      • xyという値を持つ2つの対応するStringClass、列挙、または注釈型メンバーは、x.equals(y)のときに等価とみなされる。 (この定義は注釈型のメンバーに対して再帰的である)
      • Arrays.equals(x, y)の場合、Arrays.equalsの適切なオーバーロードのために、対応する配列型付きメンバーであるxyが等しいとみなされます。
      オーバーライド:
      equals、クラスObject
      パラメータ:
      obj - 比較対象の参照オブジェクト。
      戻り値:
      指定されたオブジェクトが論理的にこれと等しい注釈を表す場合にtrue、そうでない場合はfalse
      関連項目:
    • hashCode

      int hashCode()
      この注釈のハッシュ・コードを返します。

      注釈のハッシュ・コードは、そのメンバー(デフォルト値を持つものを含む)のハッシュ・コードの合計です。 注釈メンバーのハッシュ・コードは、メンバー値のハッシュ・コードである(String.hashCode()によって計算されたmember-nameのハッシュ・コードの127倍) XORです。 メンバー値のハッシュ・コードは、次に定義するタイプによって異なります:

      • プリミティブ値vのハッシュ・コードはWrapperType.valueOf(v).hashCode()に等しく、WrapperTypev (ByteCharacterDoubleFloatIntegerLongShort、またはBoolean)のプリミティブ型に対応するラッパー型です。
      • 文字列、列挙、クラスまたは注釈メンバー値vのハッシュ・コードは、v.hashCode()のコールと同様に計算されます。 注釈メンバー値の場合、これは再帰的な定義である
      • 配列メンバー値のハッシュ・コードは、その値に対してArrays.hashCodeの適切なオーバーロードを呼び出すことで計算される。 (プリミティブ型およびオブジェクト参照型についてそれぞれ1つのオーバーロードが行われる)

      オーバーライド:
      hashCode、クラスObject
      戻り値:
      この注釈のハッシュ・コード
      関連項目:
    • toString

      String toString()
      この注釈の文字列表現を返します。 この表現の詳細は実装によって異なります。一般的な例を、次に示します。
         @com.example.Name(first="Duke", middle="of", last="Java")
       
      オーバーライド:
      toString、クラスObject
      戻り値:
      この注釈の文字列表現
    • annotationType

      Class<? extends Annotation> annotationType()
      この注釈の注釈インタフェースを返します。
      APIのノート:
      実装に依存するクラスは、注釈の実装を提供するために使用されます。 したがって、注釈でgetClassを呼び出すと、実装に依存するクラスが返されます。 対照的に、このメソッドは注釈の注釈インタフェースを確実に返します。
      戻り値:
      この注釈の注釈インタフェース
      関連項目: