- java.lang.Object
-
- jdk.dynalink.linker.support.Lookup
-
public final class Lookup extends Object
MethodHandles.Lookup周围的包装器,用于屏蔽已检查的异常。 当您在自己的代码库中查找方法时,它非常有用(因此如果它们不存在则会出错)。
-
-
字段汇总
字段 变量和类型 字段 描述 static LookupPUBLIC包装MethodHandles.publicLookup()的规范Lookup对象。
-
构造方法摘要
构造方法 构造器 描述 Lookup(MethodHandles.Lookup lookup)创建一个绑定到MethodHandles.Lookup实例的新实例。
-
方法摘要
-
-
-
字段详细信息
-
PUBLIC
public static final Lookup PUBLIC
包装MethodHandles.publicLookup()的规范Lookup对象。
-
-
构造方法详细信息
-
Lookup
public Lookup(MethodHandles.Lookup lookup)
创建一个绑定到MethodHandles.Lookup实例的新实例。- 参数
-
lookup- 它委派给的MethodHandles.Lookup。
-
-
方法详细信息
-
unreflect
public MethodHandle unreflect(方法 m)
- 参数
-
m- 未反映的方法 - 结果
- 未反射的方法句柄。
- 异常
-
IllegalAccessError- 如果方法不可访问。
-
unreflect
public static MethodHandle unreflect(MethodHandles.Lookup lookup, 方法 m)
- 参数
-
lookup- 用于lookup的查找 -
m- 未反映的方法 - 结果
- 未反射的方法句柄。
- 异常
-
IllegalAccessError- 如果方法不可访问。
-
unreflectGetter
public MethodHandle unreflectGetter(字段 f)
- 参数
-
f- 未f的getter字段 - 结果
- 未反射的字段getter句柄。
- 异常
-
IllegalAccessError- 如果吸气剂无法进入。
-
findGetter
public MethodHandle findGetter(类<?> refc, String name, 类<?> type)
执行MethodHandles.Lookup.findGetter(Class, String, Class),将遇到的任何IllegalAccessException转换为IllegalAccessError和NoSuchFieldException转换为NoSuchFieldError。- 参数
-
refc- 声明该字段的类 -
name- 字段的名称 -
type- 字段的类型 - 结果
- 未反射的字段getter句柄。
- 异常
-
IllegalAccessError- 如果该字段不可访问。 -
NoSuchFieldError- 如果该字段不存在。
-
unreflectSetter
public MethodHandle unreflectSetter(字段 f)
- 参数
-
f- 未设置setter的字段 - 结果
- 未反射的字段设置器句柄。
- 异常
-
IllegalAccessError- 如果该字段不可访问。 -
NoSuchFieldError- 如果该字段不存在。
-
unreflectConstructor
public MethodHandle unreflectConstructor(构造器<?> c)
执行MethodHandles.Lookup.unreflectConstructor(Constructor),将遇到的任何IllegalAccessException转换为IllegalAccessError。- 参数
-
c- 要反映的构造函数 - 结果
- 未反射的构造函数句柄。
- 异常
-
IllegalAccessError- 如果构造函数不可访问。
-
unreflectConstructor
public static MethodHandle unreflectConstructor(MethodHandles.Lookup lookup, 构造器<?> c)
执行MethodHandles.Lookup.unreflectConstructor(Constructor),将遇到的任何IllegalAccessException转换为IllegalAccessError。- 参数
-
lookup- 用于lookup的查找 -
c- 要反映的构造函数 - 结果
- 未反射的构造函数句柄。
- 异常
-
IllegalAccessError- 如果构造函数不可访问。
-
findSpecial
public MethodHandle findSpecial(类<?> declaringClass, String name, MethodType type)
在基础查找上执行MethodHandles.Lookup.findSpecial(Class, String, MethodType, Class)。 将遇到的任何IllegalAccessException转换为IllegalAccessError,将NoSuchMethodException转换为NoSuchMethodError。- 参数
-
declaringClass- 声明方法的类 -
name- 方法的名称 -
type- 方法的类型 - 结果
- 该方法的方法句柄
- 异常
-
IllegalAccessError- 如果方法不可访问。 -
NoSuchMethodError- 如果该方法不存在。
-
findStatic
public MethodHandle findStatic(类<?> declaringClass, String name, MethodType type)
在基础查找上执行MethodHandles.Lookup.findStatic(Class, String, MethodType)。 将遇到的任何IllegalAccessException转换为IllegalAccessError,将NoSuchMethodException转换为NoSuchMethodError。- 参数
-
declaringClass- 声明方法的类 -
name- 方法的名称 -
type- 方法的类型 - 结果
- 该方法的方法句柄
- 异常
-
IllegalAccessError- 如果方法不可访问。 -
NoSuchMethodError- 如果该方法不存在。
-
findVirtual
public MethodHandle findVirtual(类<?> declaringClass, String name, MethodType type)
在基础查找上执行MethodHandles.Lookup.findVirtual(Class, String, MethodType)。 将遇到的任何IllegalAccessException转换为IllegalAccessError和NoSuchMethodException转换为NoSuchMethodError。- 参数
-
declaringClass- 类声明方法 -
name- 方法的名称 -
type- 方法的类型 - 结果
- 该方法的方法句柄
- 异常
-
IllegalAccessError- 如果方法不可访问。 -
NoSuchMethodError- 如果该方法不存在。
-
findOwnSpecial
public static MethodHandle findOwnSpecial(MethodHandles.Lookup lookup, String name, 类<?> rtype, 类<?>... ptypes)
给定查找,找到在该查找类上使用findSpecial(Class, String, MethodType)方法。 在类的代码中很有用,可以方便地链接到自己的私有代码。- 参数
-
lookup- 该类的查找 -
name- 方法的名称 -
rtype- 方法的返回类型 -
ptypes- 方法的参数类型 - 结果
- 方法的方法句柄
-
findOwnSpecial
public MethodHandle findOwnSpecial(String name, 类<?> rtype, 类<?>... ptypes)
在该查找类上查找使用findSpecial(Class, String, MethodType)方法。 在类的代码中很有用,可以方便地链接到自己的私有代码。 它比findSpecial更方便,因为你可以只列出参数类型,而不必指定查找类。- 参数
-
name- 方法的名称 -
rtype- 方法的返回类型 -
ptypes- 方法的参数类型 - 结果
- 方法的方法句柄
-
findOwnStatic
public static MethodHandle findOwnStatic(MethodHandles.Lookup lookup, String name, 类<?> rtype, 类<?>... ptypes)
给定查找,找到在该查找类上使用findStatic(Class, String, MethodType)方法。 在类的代码中很有用,可以方便地链接到自己的私有代码。 它比findStatic更容易使用,因为您只需列出参数类型,而不必指定查找类。- 参数
-
lookup- 该类的查找 -
name- 方法的名称 -
rtype- 方法的返回类型 -
ptypes- 方法的参数类型 - 结果
- 方法的方法句柄
-
findOwnStatic
public MethodHandle findOwnStatic(String name, 类<?> rtype, 类<?>... ptypes)
在该查找类上查找使用findStatic(Class, String, MethodType)方法。 在类的代码中很有用,可以方便地链接到自己的私有代码。 它比findStatic更容易使用,因为您可以只列出参数类型,而不必指定查找类。- 参数
-
name- 方法的名称 -
rtype- 方法的返回类型 -
ptypes- 方法的参数类型 - 结果
- the method handle for the method
-
-