public class LookupFactory extends Object
MethodHandles.Lookup
工厂,用于创建MethodHandles.Lookup
对象MethodHandles.lookup()
获取到的MethodHandles.Lookup
在调用findSpecial和unreflectSpecial
时会出现权限不够问题,抛出"no private access for invokespecial"异常,因此针对JDK8及JDK9+分别封装lookup方法。
参考:
Constructor and Description |
---|
LookupFactory() |
Modifier and Type | Method and Description |
---|---|
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.Lookup
Copyright © 2024. All rights reserved.