共用方式為


MethodHandles.DropArgumentsToMatch 方法

定義

調整目標方法句柄以符合指定的參數類型清單。

[Android.Runtime.Register("dropArgumentsToMatch", "(Ljava/lang/invoke/MethodHandle;ILjava/util/List;I)Ljava/lang/invoke/MethodHandle;", "", ApiSince=33)]
public static Java.Lang.Invoke.MethodHandle? DropArgumentsToMatch (Java.Lang.Invoke.MethodHandle? target, int skip, System.Collections.Generic.IList<Java.Lang.Class>? newTypes, int pos);
[<Android.Runtime.Register("dropArgumentsToMatch", "(Ljava/lang/invoke/MethodHandle;ILjava/util/List;I)Ljava/lang/invoke/MethodHandle;", "", ApiSince=33)>]
static member DropArgumentsToMatch : Java.Lang.Invoke.MethodHandle * int * System.Collections.Generic.IList<Java.Lang.Class> * int -> Java.Lang.Invoke.MethodHandle

參數

target
MethodHandle

要調整的方法句柄

skip
Int32

要忽略的目標參數數目(不會變更)

newTypes
IList<Class>

要比 target對的參數類型清單的型別清單

pos
Int32

放置於 newTypes 非略過的目標參數必須發生的位置

傳回

可能調整的方法句柄

屬性

備註

調整目標方法句柄以符合指定的參數類型清單。 如有必要,請新增佔位元自變數。 比對開始之前,可以略過一些前置參數。 參數類型清單中的其餘類型target必須是位於起始位置posnewTypes類型清單的子清單。 產生的句柄將會有目標句柄的參數類型清單,且任何不相符的參數類型(在相符的子清單之前或之後)插入目標原始參數的對應位置,就好像由 。#dropArguments(MethodHandle, int, Class[])

產生的句柄會擁有與目標句柄相同的傳回型別。

在更正式的詞彙中,假設這兩個類型清單:<ul><li>目標句柄具有參數類型清單 S..., M...,且 中的類型 S 數目與 所 skip指示的相同。 類型M是應該符合指定類型清單的一部分的類型。 newTypes <li>清單包含型P..., M..., A...別 ,在 中P具有 與 所pos指示的型別newTypes數目相同。 這些 M 類型正是 M 目標句柄參數類型清單中的類型應該相符的類型。 中的 A 類型是比對子清單之後找到的其他類型。 </ul> 假設這些假設,叫用 dropArgumentsToMatch 的結果將會有 參數類型清單 S..., P..., M..., A...,且 和 P A 型別會插入為 ,就像 是 一 #dropArguments(MethodHandle, int, Class[])樣。

已在 9 中新增。

java.lang.invoke.MethodHandles.dropArgumentsToMatch(java.lang.invoke.MethodHandle, int, java.util.List<java.lang.Class<?>>, int)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於