語言

MethodHandles.Lookup.FindStatic(Class, String, MethodType) 方法

定義

產生靜態方法的方法手柄。

[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

方法類型

傳回

所需方法的 handle

屬性

備註

產生靜態方法的方法手柄。 方法的 handle 類型將與方法相同。 (由於靜態方法不接收接收器,因此不會在方法處理型態中插入額外的接收器參數,與 或 #findVirtual findVirtual#findSpecial findSpecial的 相符不同。)方法及其所有參數類型必須對查找物件可存取。

回傳的方法代柄將具有 MethodHandle#asVarargsCollector 變數元數,當且僅當該方法的變數元數修飾位0x0080元()被設定為 MethodHandle#asVarargsCollector。

如果呼叫回傳的方法 handle ,該方法的類別會被初始化,若尚未初始化。

<b>範例:</b><引用>

{@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());
            }

</區塊引用>

Java 文件 java.lang.invoke.MethodHandles.Lookup.findStatic(java.lang.Class<?>, java.lang.String, java.lang.invoke.MethodType)。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於