java.lang.Object
java.lang.runtime.ObjectMethods
public class ObjectMethods extends Object
このクラスは、Java言語のプレビュー機能であるrecordsに関連付けられています。 プレビュー機能は、将来のリリースで削除されるか、Java言語の永続機能にアップグレードされる可能性があります。
Object.equals(Object)、Object.hashCode()、Object.toString()などのコア・メソッドのステート・ドリブン実装のブートストラップ・メソッド。 これらのメソッドは、たとえば、レコード・クラスのObjectメソッドの本体を実装するために、Javaコンパイラ実装で使用できます。 - 導入されたバージョン:
- 14
-
メソッドのサマリー
修飾子と型 メソッド 説明 static Objectbootstrap(MethodHandles.Lookup lookup, String methodName, TypeDescriptor type, Class<?> recordClass, String names, MethodHandle... getters)invokedynamicコール・サイトまたは動的な定数プール・エントリのコンポーネント名およびアクセッサ・メソッドの説明に基づいて、Object.equals(Object)、Object.hashCode()およびObject.toString()メソッドを生成するブートストラップ・メソッド。
-
メソッドの詳細
-
bootstrap
public static Object bootstrap(MethodHandles.Lookup lookup, String methodName, TypeDescriptor type, Class<?> recordClass, String names, MethodHandle... getters) throws Throwableinvokedynamicコール・サイトまたは動的な定数プール・エントリのコンポーネント名およびアクセッサ・メソッドの説明に基づいて、Object.equals(Object)、Object.hashCode()およびObject.toString()メソッドを生成するブートストラップ・メソッド。 生成されるメソッドのセマンティクスの詳細は、Record.equals(Object)、Record.hashCode()およびRecord.toString()の仕様を参照してください。- パラメータ:
lookup- すべてのブートストラップ・メソッドは、通常はコール元のアクセシビリティ権限で検索コンテキストを表すlookupを持つ必要があります。 これは、invokedynamicコール・サイトでは常に対応するブートストラップ・メソッドにlookupが提供されるが、このメソッドではlookupパラメータが無視されるためです。methodName- 生成するメソッドの名前("equals"、"hashCode"または"toString"のいずれか)type- メソッドの記述子タイプに対応するMethodType(invokedynamicコール・サイトをリンクする場合、対応するObjectメソッドの記述子に対応する必要があります)または動的定数をリンクする場合は、定数MethodHandle.classrecordClass- レコード・コンポーネントをホストしているレコード・クラスnames- コンポーネント名のリスト。";"で区切られた文字列に結合されています。コンポーネントがない場合は空の文字列に結合されます。methodNameが"equals"または"hashCode"の場合、nullであると考えられます。getters- メソッド・ハンドル:コンポーネントのアクセッサ・メソッド- 戻り値:
- iノードによって呼び出された場合はコール・サイト。一度に呼び出された場合はメソッド・ハンドル
- 例外:
IllegalArgumentException- ブートストラップ引数が無効であるか、一貫性がないかThrowable- コール・サイトの構成中に例外がスローされた場合
-