MethodHandles.Lookup.FindStatic(Class, String, MethodType) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
產生靜態方法的方法句柄。
[Android.Runtime.Register("findStatic", "(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;", "", ApiSince=26)]
public Java.Lang.Invoke.MethodHandle FindStatic (Java.Lang.Class refc, string name, Java.Lang.Invoke.MethodType type);
[<Android.Runtime.Register("findStatic", "(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;", "", ApiSince=26)>]
member this.FindStatic : Java.Lang.Class * string * Java.Lang.Invoke.MethodType -> Java.Lang.Invoke.MethodHandle
參數
- refc
- Class
從中存取方法的類別
- name
- String
方法的名稱
- type
- MethodType
方法的類型
傳回
所需的方法句柄
- 屬性
備註
產生靜態方法的方法句柄。 方法句柄的類型會是 方法的型別。 (由於靜態方法不會接受接收者,因此不會將其他接收者自變數插入至方法句柄類型,因為 #findVirtual findVirtual
會有 或 #findSpecial findSpecial
。方法及其所有自變數類型都必須可供查閱物件存取。
傳回的方法句柄只有在方法的arity修飾詞位 (0x0080
) 設定時,才會有 MethodHandle#asVarargsCollector 變數 arity。
如果叫用傳回的方法句柄,如果尚未初始化方法,則會初始化方法的 類別。
<b>範例:</b><blockquote>
{@code
import static java.lang.invoke.MethodHandles.*;
import static java.lang.invoke.MethodType.*;
...
MethodHandle MH_asList = publicLookup().findStatic(Arrays.class,
"asList", methodType(List.class, Object[].class));
assertEquals("[x, y]", MH_asList.invoke("x", "y").toString());
}
</blockquote>
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。