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
存在。)该方法及其所有参数类型都必须可供查找对象访问。
返回的方法句柄将具有 MethodHandle#asVarargsCollector 变量 arity,前提是设置了该方法的变量 arity 修饰符位(0x0080
)。
如果调用返回的方法句柄,将初始化该方法的类(如果尚未初始化)。
<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 属性许可证中所述的术语使用。