言語

MethodHandles.ExplicitCastArguments(MethodHandle, MethodType) メソッド

定義

ペアワイズ引数と戻り値の型変換によって、指定されたメソッド ハンドルの型を新しい型に適合させるメソッド ハンドルを生成します。

[Android.Runtime.Register("explicitCastArguments", "(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;", "", ApiSince=26)]
public static Java.Lang.Invoke.MethodHandle? ExplicitCastArguments(Java.Lang.Invoke.MethodHandle? target, Java.Lang.Invoke.MethodType? newType);
[<Android.Runtime.Register("explicitCastArguments", "(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;", "", ApiSince=26)>]
static member ExplicitCastArguments : Java.Lang.Invoke.MethodHandle * Java.Lang.Invoke.MethodType -> Java.Lang.Invoke.MethodHandle

パラメーター

target
MethodHandle

引数の再入力後に呼び出すメソッド ハンドル

newType
MethodType

新しいメソッド ハンドルの予期される型

返品

メソッドは、必要な引数変換を実行した後にターゲットにデリゲートし、必要な戻り値の変換を配置するメソッドです。

属性

注釈

ペアワイズ引数と戻り値の型変換によって、指定されたメソッド ハンドルの型を新しい型に適合させるメソッド ハンドルを生成します。 元の型と新しい型は、同じ数の引数を持つ必要があります。 結果のメソッド ハンドルは、目的の新しい型と等しい型を報告することが保証されます。

元の型と新しい型が等しい場合は、target を返します。

MethodHandle#asType MethodHandle.asTypeの場合と同じ変換が許可され、それらの変換が失敗した場合にもいくつかの追加の変換が適用されます。 指定された型 <em>T0</em>、 <em>T1</em>では、可能であれば、 asTypeによって行われる変換の前または代わりに、 <ul><li>If <em>T0</em> および <em>T1</em> が参照として適用されます。 および <em>T1</em> はインターフェイス型であり、 <em>T0</em> 型の値はキャストなしで <em>T1</em> として渡されます。 (このインターフェイスの処理は、バイトコード検証ツールの使用に従います)。<li><em>T0</em> がブール値で、<em>T1</em> が別のプリミティブである場合、ブール値はバイト値に変換され、true の場合は 1、false の場合は 0 に変換されます。 (この処理は、バイトコード検証ツールの使用に従います)。<li><em>T1</em> がブール値で、<em>T0</em> が別のプリミティブである場合、 <em>T0</em>はJavaキャスト変換 (JLS 5.5) を使用してバイトに変換され、結果の下位ビットは(x & 1) != 0のようにテストされます。 <li><em>T0</em>と<em>T1</em>がブール値以外のプリミティブである場合は、Javaキャスト変換 (JLS 5.5) が適用されます。 (具体的には、<em>T0</em> は拡大/縮小によって <em>T1</em> に変換されます)。) <li><em>T0</em>が参照であり、<em>T1</em>プリミティブの場合、アンボックス化変換が実行時に適用され、その後にプリミティブ値にJavaキャスト変換 (JLS 5.5) が適用され、バイトからブール値への変換が続く可能性があります。 <li><em>T0</em> が参照であり <em>T1</em> プリミティブであり、実行時に参照が null の場合、ゼロ値が導入されます。 </ul>

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象