MethodHandle.AsFixedArity メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
現在のメソッド ハンドルと <同等の em>固定アリティ</em> メソッド ハンドルを作成します。
[Android.Runtime.Register("asFixedArity", "()Ljava/lang/invoke/MethodHandle;", "GetAsFixedArityHandler", ApiSince=26)]
public virtual Java.Lang.Invoke.MethodHandle? AsFixedArity ();
[<Android.Runtime.Register("asFixedArity", "()Ljava/lang/invoke/MethodHandle;", "GetAsFixedArityHandler", ApiSince=26)>]
abstract member AsFixedArity : unit -> Java.Lang.Invoke.MethodHandle
override this.AsFixedArity : unit -> Java.Lang.Invoke.MethodHandle
戻り値
固定数の引数のみを受け入れる新しいメソッド ハンドル
- 属性
注釈
現在のメソッド ハンドルと <同等の em>固定アリティ</em> メソッド ハンドルを作成します。
現在のメソッド ハンドルが変数のアリティでない場合 #asVarargsCollector、現在のメソッド ハンドルが返されます。 これは、現在のメソッド ハンドルが への asVarargsCollector
有効な入力にできなかった場合でも当てはまります。
それ以外の場合、結果の固定アリティ メソッド ハンドルの型と動作は、現在のメソッド ハンドルと同じですが、 が false になる点が #isVarargsCollector isVarargsCollector
除きます。 固定アリティ メソッド ハンドルは、 の前の引数 asVarargsCollector
である場合とそうでない場合があります。
リスト作成変数アリティ メソッド ハンドルの例を次に示します。 <blockquote>
{@code
MethodHandle asListVar = publicLookup()
.findStatic(Arrays.class, "asList", methodType(List.class, Object[].class))
.asVarargsCollector(Object[].class);
MethodHandle asListFix = asListVar.asFixedArity();
assertEquals("[1]", asListVar.invoke(1).toString());
Exception caught = null;
try { asListFix.invoke((Object)1); }
catch (Exception ex) { caught = ex; }
assert(caught instanceof ClassCastException);
assertEquals("[two, too]", asListVar.invoke("two", "too").toString());
try { asListFix.invoke("two", "too"); }
catch (Exception ex) { caught = ex; }
assert(caught instanceof WrongMethodTypeException);
Object[] argv = { "three", "thee", "tee" };
assertEquals("[three, thee, tee]", asListVar.invoke(argv).toString());
assertEquals("[three, thee, tee]", asListFix.invoke(argv).toString());
assertEquals(1, ((List) asListVar.invoke((Object)argv)).size());
assertEquals("[three, thee, tee]", asListFix.invoke((Object)argv).toString());
}
</blockquote>
の Java ドキュメント java.lang.invoke.MethodHandle.asFixedArity()
。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。