- すべてのスーパー・インタフェース:
- ConstantDesc
- 既知のすべてのサブインタフェース:
- DirectMethodHandleDesc
public interface MethodHandleDesc extends ConstantDesc
MethodHandle定数の場合は「名目記述子」。- APIのノート:
- 将来、Java言語が許可すると、MethodHandleDescがsealedインタフェースになる場合があり、明示的に許可されている型を除いてサブクラス化が禁止されます。 非プラットフォーム・クラスは、MethodHandleDescを直接実装することはできません。
- 導入されたバージョン:
- 12
- 
メソッドのサマリー修飾子と型 メソッド 説明 default MethodHandleDescasType(MethodTypeDesc type)MethodHandle.asType(MethodType)が適応するこのメソッド・ハンドルを説明するMethodHandleDescを返します。booleanequals(Object o)等価性のために、指定されたオブジェクトをこの記述子と比較します。MethodTypeDescinvocationType()この名目記述子で記述されるメソッド・ハンドルの呼出しタイプを記述するMethodTypeDescを返します。static DirectMethodHandleDescof(DirectMethodHandleDesc.Kind kind, ClassDesc owner, String name, String lookupDescriptor)宣言されたメソッドの呼出し、コンストラクタの呼出し、またはフィールドへのアクセスに対応するMethodHandleDescを作成します。static DirectMethodHandleDescofConstructor(ClassDesc owner, ClassDesc... paramTypes)コンストラクタの呼出しに対応するMethodHandleDescを返しますstatic DirectMethodHandleDescofField(DirectMethodHandleDesc.Kind kind, ClassDesc owner, String fieldName, ClassDesc fieldType)フィールドにアクセスするメソッド・ハンドルに対応するMethodHandleDescを作成します。static DirectMethodHandleDescofMethod(DirectMethodHandleDesc.Kind kind, ClassDesc owner, String name, MethodTypeDesc lookupMethodType)宣言されたメソッドまたはコンストラクタの呼出しに対応するMethodHandleDescを作成します。
- 
メソッドの詳細- 
ofstatic DirectMethodHandleDesc of(DirectMethodHandleDesc.Kind kind, ClassDesc owner, String name, String lookupDescriptor)宣言されたメソッドの呼出し、コンストラクタの呼出し、またはフィールドへのアクセスに対応するMethodHandleDescを作成します。ルックアップ記述子文字列の形式は、 CONSTANT_MethodHandle_infoの様々なバリアントと、MethodHandles.Lookupのルックアップ・メソッドの形式と同じです。 メソッドまたはコンストラクタのコールの場合、メソッド・タイプ記述子として解釈されます。フィールド・アクセスの場合は、フィールド記述子として解釈されます。kindがCONSTRUCTORの場合、nameパラメータは無視され、ルックアップ記述子の戻り型はvoidである必要があります。kindが仮想メソッド呼出しに対応している場合、ルックアップ・タイプにはメソッド・パラメータが含まれますがレシーバ・タイプは含まれません。- パラメータ:
- kind- 記述するメソッド・ハンドルの種類
- owner- メソッド、コンストラクタまたはフィールドを含むクラスを記述する- ClassDesc
- name- メソッドまたはフィールドの非修飾名(- kindが- CONSTRUCTORの場合、無視)
- lookupDescriptor- メソッド記述子の文字列。リクエストがメソッド呼出し用の場合はルックアップ・タイプ、リクエストがフィールドまたはコンストラクタ用の場合は呼出しタイプを記述
- 戻り値:
- MethodHandleDesc
- 例外:
- NullPointerException- 無視されない引数のいずれかがnullの場合
- IllegalArgumentException- 記述子文字列が有効なメソッドまたはフィールド記述子でないかどうか
- Java Virtual Machine仕様を参照してください:
- 
4.4.8 CONSTANT_MethodHandle_info構造 
 4.2.2未修飾名
 4.3.2フィールド記述子
 4.3.3メソッド記述子
 
- 
ofMethodstatic DirectMethodHandleDesc ofMethod(DirectMethodHandleDesc.Kind kind, ClassDesc owner, String name, MethodTypeDesc lookupMethodType)宣言されたメソッドまたはコンストラクタの呼出しに対応するMethodHandleDescを作成します。ルックアップ記述子の文字列の形式は、 MethodHandles.Lookupのルックアップ・メソッドの場合と同じです。kindがCONSTRUCTORの場合、名前は無視され、ルックアップ・タイプの戻りタイプはvoidである必要があります。kindが仮想メソッド呼出しに対応している場合、ルックアップ・タイプにはメソッド・パラメータが含まれますがレシーバ・タイプは含まれません。- パラメータ:
- kind- 記述するメソッド・ハンドルの種類。- SPECIAL, VIRTUAL, STATIC, INTERFACE_SPECIAL, INTERFACE_VIRTUAL, INTERFACE_STATIC, CONSTRUCTORのいずれかである必要があります。
- owner- メソッドまたはコンストラクタを含むクラスを記述する- ClassDesc
- name- メソッド(- kindが- CONSTRUCTORの場合、無視)の未修飾名
- lookupMethodType- ルックアップ・タイプを説明する- MethodTypeDesc
- 戻り値:
- MethodHandleDesc
- 例外:
- NullPointerException- 無視されない引数がある場合
- IllegalArgumentException-- nameの形式が正しくない場合、または種類が無効である場合
- Java Virtual Machine仕様を参照してください:
- 
4.2.2 未修飾名 
 
- 
ofFieldstatic DirectMethodHandleDesc ofField(DirectMethodHandleDesc.Kind kind, ClassDesc owner, String fieldName, ClassDesc fieldType)フィールドにアクセスするメソッド・ハンドルに対応するMethodHandleDescを作成します。- パラメータ:
- kind- 記述するメソッド・ハンドルの種類。- GETTER、- SETTER、- STATIC_GETTER、- STATIC_SETTERのいずれかである必要があります。
- owner- フィールドを含むクラスを記述する- ClassDesc
- fieldName- フィールドの未修飾名
- fieldType- フィールドのタイプについて説明する- ClassDesc
- 戻り値:
- MethodHandleDesc
- 例外:
- NullPointerException- 引数が1つでもnullの場合
- IllegalArgumentException-- kindが有効な値のいずれでもない場合、またはフィールド名が無効な場合
- Java Virtual Machine仕様を参照してください:
- 
4.2.2 未修飾名 
 
- 
ofConstructorstatic DirectMethodHandleDesc ofConstructor(ClassDesc owner, ClassDesc... paramTypes)コンストラクタの呼出しに対応するMethodHandleDescを返します- パラメータ:
- owner- コンストラクタを含むクラスを記述する- ClassDesc
- paramTypes-- ClassDescsコンストラクタのパラメータ型を記述しています
- 戻り値:
- MethodHandleDesc
- 例外:
- NullPointerException- 引数またはその内容が- nullの場合
 
- 
asTypedefault MethodHandleDesc asType(MethodTypeDesc type)MethodHandle.asType(MethodType)が適応するこのメソッド・ハンドルを説明するMethodHandleDescを返します。- パラメータ:
- type- 新しいメソッド・タイプを記述する- MethodHandleDesc
- 戻り値:
- 適合メソッド・ハンドル用のMethodHandleDesc
- 例外:
- NullPointerException- 引数が- nullの場合
 
- 
invocationTypeMethodTypeDesc invocationType()この名目記述子で記述されるメソッド・ハンドルの呼出しタイプを記述するMethodTypeDescを返します。 起動タイプは、起動された(レシーバを含む(存在する場合))によって消費されるスタック値の完全なセットを説明します。- 戻り値:
- メソッド・ハンドル・タイプを記述するMethodHandleDesc
 
- 
equalsboolean equals(Object o)等価性のために、指定されたオブジェクトをこの記述子と比較します。trueを返します。指定したオブジェクトがMethodHandleDescでもある場合に限り、どちらもメソッド・ハンドルの同じ名目説明をエンコードします。- オーバーライド:
- equals、クラス:- Object
- パラメータ:
- o- 他のオブジェクト
- 戻り値:
- この記述子が他のオブジェクトと等しいかどうか
- 関連項目:
- Object.hashCode()、- HashMap
 
 
-