public final class Method extends Executable
Methodは、クラスまたはインタフェース上の単一のメソッドに関する情報とそのアクセスを提供します。リフレクトされたメソッドは、クラス・メソッドまたはインスタンス・メソッド(抽象メソッドを含む)になります。
Methodは、実パラメータを基になるメソッドの仮パラメータと一致させる場合に、拡張変換が発生することを許可しますが、縮小変換が発生する場合はIllegalArgumentExceptionをスローします。
| 修飾子と型 | メソッドと説明 |
|---|---|
boolean |
equals(Object obj)
この
Methodを指定されたオブジェクトと比較します。 |
AnnotatedType |
getAnnotatedReturnType()
このExecutableによって表されるメソッドまたはコンストラクタの戻り型を指定する型の使用を表す
AnnotatedTypeオブジェクトを返します。 |
<T extends Annotation> |
getAnnotation(Class<T> annotationClass)
存在する場合は、この要素の指定された型の注釈を返し、そうでない場合はnullを返します。
|
Annotation[] |
getDeclaredAnnotations()
この要素に直接存在する注釈を返します。
|
Class<?> |
getDeclaringClass()
このオブジェクトによって表される実行可能ファイルを宣言するクラスまたはインタフェースを表す
Classオブジェクトを返します。 |
Object |
getDefaultValue()
この
Methodインスタンスにより表される注釈メンバーのデフォルト値を返します。 |
Class<?>[] |
getExceptionTypes()
このオブジェクトで表される基礎となる実行可能ファイルによってスローされるように宣言されている例外の型を表す
Classオブジェクトの配列を返します。 |
Type[] |
getGenericExceptionTypes()
このexecutableオブジェクトによってスローされることが宣言されている例外を表す
Typeオブジェクトの配列を返します。 |
Type[] |
getGenericParameterTypes()
このオブジェクトによって表される実行可能要素の仮パラメータ型を宣言順で表す
Typeオブジェクトの配列を返します。 |
Type |
getGenericReturnType()
この
Methodオブジェクトによって表されるメソッドの仮の戻り値の型を表すTypeオブジェクトを返します。 |
int |
getModifiers()
このオブジェクトによって表される実行可能要素のJava言語修飾子を返します。
|
String |
getName()
Methodオブジェクトによって表されるメソッドの名前をStringとして返します。 |
Annotation[][] |
getParameterAnnotations()
このオブジェクトによって表される
Executableの仮パラメータの注釈を表すAnnotationの配列の配列を、宣言順に返します。 |
int |
getParameterCount()
このオブジェクトによって表される実行可能要素の仮パラメータ(明示的に宣言されているか、暗黙的に宣言されているか、そのいずれでもないかに関係なく)の数を返します。
|
Class<?>[] |
getParameterTypes()
このオブジェクトによって表される実行可能ファイルの仮パラメータ型を宣言順で表す
Classオブジェクトの配列を返します。 |
Class<?> |
getReturnType()
この
Methodオブジェクトによって表されるメソッドの仮の戻り値の型を表すClassオブジェクトを返します。 |
TypeVariable<Method>[] |
getTypeParameters()
GenericDeclarationオブジェクトによって表されるジェネリック宣言で宣言された型変数を表すTypeVariableオブジェクトの配列を宣言順に返します。 |
int |
hashCode()
この
Methodのハッシュ・コードを返します。 |
Object |
invoke(Object obj, Object... args)
この
Methodオブジェクトによって表される基本となるメソッドを、指定したオブジェクトに対して指定したパラメータで呼び出します。 |
boolean |
isBridge()
このメソッドがブリッジ・メソッドである場合は
trueを返し、そうでない場合はfalseを返します。 |
boolean |
isDefault()
このメソッドがデフォルト・メソッドである場合は
trueを返し、そうでない場合はfalseを返します。 |
boolean |
isSynthetic()
この実行可能要素が合成構造である場合は
trueを返し、そうでない場合はfalseを返します。 |
boolean |
isVarArgs()
この実行可能要素が可変数の引数を取るように宣言されていた場合は
trueを返し、そうでない場合はfalseを返します。 |
String |
toGenericString()
型パラメータを含む、この
Methodを記述する文字列を返します。 |
String |
toString()
この
Methodを記述する文字列を返します。 |
getAnnotatedExceptionTypes, getAnnotatedParameterTypes, getAnnotatedReceiverType, getAnnotationsByType, getParametersgetAnnotations, getDeclaredAnnotation, getDeclaredAnnotationsByType, isAccessible, isAnnotationPresent, setAccessible, setAccessiblegetAnnotations, getDeclaredAnnotation, getDeclaredAnnotationsByType, isAnnotationPresentpublic Class<?> getDeclaringClass()
Classオブジェクトを返します。getDeclaringClass、インタフェース: MembergetDeclaringClass、クラス: Executablepublic String getName()
Methodオブジェクトによって表されるメソッドの名前をStringとして返します。getName、インタフェース: MembergetName、クラス: Executablepublic int getModifiers()
getModifiers、インタフェース: MembergetModifiers、クラス: ExecutableModifierpublic TypeVariable<Method>[] getTypeParameters()
GenericDeclarationオブジェクトによって表されるジェネリック宣言で宣言された型変数を表すTypeVariableオブジェクトの配列を宣言順に返します。基になるジェネリック宣言で型変数が宣言されていない場合は、長さ0の配列が返されます。getTypeParameters、インタフェース: GenericDeclarationgetTypeParameters、クラス: ExecutableTypeVariableオブジェクトの配列GenericSignatureFormatError - このジェネリック宣言のジェネリック・シグネチャが『Java(tm)仮想マシン仕様』で規定される書式に適合しない場合public Class<?> getReturnType()
Methodオブジェクトによって表されるメソッドの仮の戻り値の型を表すClassオブジェクトを返します。public Type getGenericReturnType()
Methodオブジェクトによって表されるメソッドの仮の戻り値の型を表すTypeオブジェクトを返します。
戻り値の型が、パラメータ化された型の場合、返されたTypeオブジェクトは、ソース・コードで使用される実際の型パラメータを正確に反映しなければいけません。
戻り値の型が、型変数またはパラメータ化された型の場合、戻り値の型は作成されます。そうでない場合、例外タイプは解決されます。
TypeオブジェクトGenericSignatureFormatError - ジェネリック・メソッドのシグネチャが『Java(tm)仮想マシン仕様』で規定される書式に適合しない場合TypeNotPresentException - 基本となるメソッドの戻り値の型が存在しない型宣言を参照する場合MalformedParameterizedTypeException - 基本となるメソッドの戻り値の型が、なんらかの理由によりインスタンス化できないパラメータ化された型を参照する場合public Class<?>[] getParameterTypes()
Classオブジェクトの配列を返します。基礎となる実行可能要素にパラメータが設定されていない場合には、長さ0の配列が返されます。getParameterTypes、クラス: Executablepublic int getParameterCount()
getParameterCount、クラス: Executablepublic Type[] getGenericParameterTypes()
Typeオブジェクトの配列を返します。基礎となる実行可能要素にパラメータが設定されていない場合には、長さ0の配列が返されます。
仮パラメータ型が、パラメータ化された型の場合、返されるTypeオブジェクトは、ソース・コードで使用される実際の型パラメータを正確に反映しなければいけません。
仮パラメータ型が、型変数またはパラメータ化された型の場合、仮パラメータ型は作成されます。そうでない場合、例外タイプは解決されます。
getGenericParameterTypes、クラス: ExecutableTypeの配列GenericSignatureFormatError - ジェネリック・メソッドのシグネチャが『Java(tm)仮想マシン仕様』で規定される書式に適合しない場合TypeNotPresentException - 基礎となる実行可能要素のパラメータ型のいずれかが、存在しない型宣言を参照する場合MalformedParameterizedTypeException - 基礎となる実行可能要素のパラメータ型のいずれかが、なんらかの理由によりインスタンス化できないパラメータ化された型を参照する場合public Class<?>[] getExceptionTypes()
Classオブジェクトの配列を返します。実行可能要素がthrows節で例外を宣言していない場合は、長さ0の配列を返します。getExceptionTypes、クラス: Executablepublic Type[] getGenericExceptionTypes()
Typeオブジェクトの配列を返します。基礎となる実行可能要素がthrows節で例外を宣言していない場合は、長さ0の配列を返します。
例外タイプが、型変数またはパラメータ化された型の場合、例外タイプは作成されます。そうでない場合、例外タイプは解決されます。
getGenericExceptionTypes、クラス: ExecutableGenericSignatureFormatError - ジェネリック・メソッドのシグネチャが『Java(tm)仮想マシン仕様』で規定される書式に適合しない場合TypeNotPresentException - 基礎となる実行可能要素のthrows節が存在しない型宣言を参照する場合MalformedParameterizedTypeException - 基礎となる実行可能要素のthrows節が、なんらかの理由によりインスタンス化できないパラメータ化された型を参照する場合public boolean equals(Object obj)
Methodを指定されたオブジェクトと比較します。オブジェクトが同じ場合にはtrueを返します。2つのMethodは、同じクラスで宣言され、同じ名前、仮パラメータ型、および戻り値の型を保持する場合に同じになります。equals、クラス: Objectobj - 比較対象の参照オブジェクト。true、それ以外の場合はfalse。Object.hashCode(), HashMappublic int hashCode()
Methodのハッシュ・コードを返します。これは、基本となるメソッドの宣言クラス名とそのメソッド名のハッシュ・コードの排他的論理和として計算されます。hashCode、クラス: ObjectObject.equals(java.lang.Object), System.identityHashCode(java.lang.Object)public String toString()
Methodを記述する文字列を返します。この文字列の書式は、存在する場合はメソッドのアクセス修飾子、メソッドの戻り値型、空白、メソッドを宣言するクラス、ピリオド、メソッド名、カッコで囲まれたカンマ区切りのメソッドの仮パラメータ型リストが順番に続きます。メソッドがチェック済みの例外をスローする場合、パラメータ・リストには、空白、スローするワード、スローされる例外タイプのカンマ区切りのリストが順番に続きます。たとえば、
public boolean java.lang.Object.equals(java.lang.Object)
アクセス修飾子は、『Java言語仕様』で規定された正規の順序で格納されます。これは、public、protected、またはprivateがまず配置され、次にほかの修飾子が次の順序で続きます: abstract、default、static、final、synchronized、native、strictfp。
public String toGenericString()
Methodを記述する文字列を返します。この文字列の書式は、(存在する場合には)メソッドのアクセス修飾子、山カッコで囲まれたカンマ区切りのメソッドの型パラメータ・リスト、メソッドのジェネリック戻り値型、空白、メソッドを宣言するクラス、ピリオド、メソッド名、カッコで囲まれたカンマ区切りのメソッドのジェネリック仮パラメータ型のリストが順番に続きます。このメソッドが可変数の引数を取るように宣言されていた場合は、最後のパラメータが"Type[]"として示されるのではなく、"Type..."として示されます。アクセス修飾子同士、およびアクセス修飾子と型パラメータや戻り値との区切りには空白文字が使用されます。型パラメータがない場合、型パラメータのリストは省略されます。型パラメータのリストが存在する場合、リストとクラス名は空白文字で区切られます。メソッドが例外をスローするように宣言されている場合、パラメータのリストのあとに空白、「throws」という文字列、スローされるジェネリック例外型のカンマ区切りのリストが順番に続きます。
アクセス修飾子は、『Java言語仕様』で規定された正規の順序で格納されます。これは、public、protected、またはprivateがまず配置され、次にほかの修飾子が次の順序で続きます: abstract、default、static、final、synchronized、native、strictfp。
toGenericString、クラス: ExecutableMethodを記述する文字列public Object invoke(Object obj, Object... args) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException
Methodオブジェクトによって表される基本となるメソッドを、指定したオブジェクトに対して指定したパラメータで呼び出します。個別のパラメータは、プリミティブ仮パラメータと一致させるために自動的にラップ解除され、プリミティブおよび参照パラメータは両方とも必要に応じてメソッド呼出し変換の対象になります。
基本となるメソッドがstaticの場合、指定されたobj引数は無視されます。nullも指定できます。
基本となるメソッドによって要求される仮パラメータ数が0の場合、指定されたargs配列は長さ0またはnullになります。
基本となるメソッドがインスタンス・メソッドの場合、動的メソッド・ルックアップを使用して呼出しが行われ、ターゲット・オブジェクトの実行時の型に基づいてオーバーライドが実行されます(『Java言語仕様、第2版』のセクション15.12.4.4を参照)。
基本となるメソッドがstaticの場合、メソッドを宣言したクラスがまだ初期化されていないときは、このクラスが初期化されます。
メソッドが正常に完了すると、メソッドの返す値が呼出し側に返されます。この値がプリミティブ型の場合、最初にオブジェクト内に適切な方法でラップされます。ただし、値がプリミティブ型の配列型を持つ場合、その配列の要素はオブジェクトにラップされません。つまり、プリミティブ型の配列が返されます。基本となるメソッドの戻り値の型がvoidの場合、呼出しはnullを返します。
obj - 基本となるメソッドの呼出し元のオブジェクトargs - メソッド呼出しに使用される引数argsを使用してobjにディスパッチした結果IllegalAccessException - このMethodオブジェクトがJava言語アクセス制御を実施しており、基本となるメソッドにアクセスできない場合。IllegalArgumentException - メソッドがインスタンス・メソッドであり、指定されたオブジェクト引数が基本となるメソッド(またはそのサブクラスか実装側)を宣言するクラスまたはインタフェースのインスタンスではない場合、実パラメータ数と仮パラメータ数が異なる場合、プリミティブ引数のラップ解除変換が失敗した場合、またはラップ解除後、メソッド呼出し変換によってパラメータ値を対応する仮パラメータ型に変換できない場合。InvocationTargetException - 基本となるメソッドが例外をスローする場合。NullPointerException - 指定されたオブジェクトがnullで、メソッドがインスタンス・メソッドの場合。ExceptionInInitializerError - このメソッドによる初期化に失敗した場合。public boolean isBridge()
trueを返し、そうでない場合はfalseを返します。public boolean isVarArgs()
trueを返し、そうでない場合はfalseを返します。isVarArgs、クラス: Executabletrue。public boolean isSynthetic()
trueを返し、そうでない場合はfalseを返します。isSynthetic、インタフェース: MemberisSynthetic、クラス: Executablepublic boolean isDefault()
trueを返し、そうでない場合はfalseを返します。デフォルト・メソッドは、publicの非abstractインスタンス・メソッドです。つまり、インタフェース型で宣言されている、本体を持つ非staticメソッドです。public Object getDefaultValue()
Methodインスタンスにより表される注釈メンバーのデフォルト値を返します。プリミティブ型のメンバーの場合、対応するラッパー型のインスタンスが返されます。メンバーにデフォルト値が関連付けられていない場合、またはメソッド・インスタンスが注釈型の宣言されたメンバーを表さない場合はnullを返します。Methodインスタンスにより表された注釈メンバーのデフォルト値。TypeNotPresentException - 注釈がClass型の場合で、デフォルトのクラス値の定義が見つからない場合。public <T extends Annotation> T getAnnotation(Class<T> annotationClass)
getAnnotation、インタフェース: AnnotatedElementgetAnnotation、クラス: ExecutableT - 照会し、存在する場合に返す注釈の型。annotationClass - 注釈型に対応するClassオブジェクトNullPointerException - 指定された注釈クラスがnullの場合public Annotation[] getDeclaredAnnotations()
getDeclaredAnnotations、インタフェース: AnnotatedElementgetDeclaredAnnotations、クラス: Executablepublic Annotation[][] getParameterAnnotations()
Executableの仮パラメータの注釈を表すAnnotationの配列の配列を、宣言順に返します。返される配列では、内部クラス・コンストラクタに対する外部のthisパラメータなど、合成および必須パラメータ(次の説明を参照)が表されます。実行可能要素がパラメータを持たない(つまり、仮パラメータも合成パラメータも必須パラメータも持たない)場合は、長さ0の配列が返されます。実行可能要素に1つ以上のパラメータがある場合、注釈を含まないパラメータごとに長さゼロの入れ子の配列を返します。返された配列に含まれる注釈オブジェクトは直列化できます。このメソッドの呼出し元は、返された配列を自由に変更できます。この変更は、ほかの呼出し元に返された配列に影響を及ぼしません。コンパイラによって、ソースで暗黙的に宣言されている追加のパラメータ("必須")、およびソースで暗黙的にも明示的にも宣言されていないパラメータ("合成")がメソッドのパラメータ・リストに追加されることがあります。詳細は、Parameterを参照してください。getParameterAnnotations、クラス: ExecutableParameter, Parameter.getAnnotations()public AnnotatedType getAnnotatedReturnType()
AnnotatedTypeオブジェクトを返します。このExecutableオブジェクトがコンストラクタを表す場合、AnnotatedTypeオブジェクトは構築されるオブジェクトの型を表します。このExecutableオブジェクトがメソッドを表す場合、AnnotatedTypeオブジェクトはメソッドの戻り型を指定する型の使用を表します。getAnnotatedReturnType、クラス: ExecutableExecutableが表すメソッドまたはコンストラクタの戻り型を表すオブジェクト バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.