public class LookupFactory extends Object
MethodHandles.Lookup工厂,用于创建MethodHandles.Lookup对象MethodHandles.lookup()获取到的MethodHandles.Lookup在调用findSpecial和unreflectSpecial
时会出现权限不够问题,抛出"no private access for invokespecial"异常,因此针对JDK8及JDK9+分别封装lookup方法。
参考:
| 构造器和说明 |
|---|
LookupFactory() |
| 限定符和类型 | 方法和说明 |
|---|---|
static MethodHandles.Lookup |
lookup(Class<?> callerClass)
jdk8中如果直接调用
MethodHandles.lookup()获取到的MethodHandles.Lookup在调用findSpecial和unreflectSpecial
时会出现权限不够问题,抛出"no private access for invokespecial"异常,因此针对JDK8及JDK9+分别封装lookup方法。 |
public static MethodHandles.Lookup lookup(Class<?> callerClass)
MethodHandles.lookup()获取到的MethodHandles.Lookup在调用findSpecial和unreflectSpecial
时会出现权限不够问题,抛出"no private access for invokespecial"异常,因此针对JDK8及JDK9+分别封装lookup方法。callerClass - 被调用的类或接口MethodHandles.LookupCopyright © 2022. All rights reserved.