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の有効な入力にできなかった場合でも当てはまります。
それ以外の場合、結果の固定アリティ メソッド ハンドルの型と動作は、 #isVarargsCollector isVarargsCollector が false になる点を除き、現在のメソッド ハンドルと同じです。 固定アリティ メソッド ハンドルは、 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>
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。