Java 检测类是否为代理
是否可以检测类是否是代理(动态,cglib或其他)?
让类和实现一个通用接口。然后我需要定义一个签名例程A
B
I
classEquals
public boolean classEquals(Class<? extends I> a, Class<? extends I> b);
使得它仅当 或 时计算结果为 true,其中表示类型(动态、cglib 或其他)的动态代理。a.equals(b)
Proxy(a).equals(b)
Proxy(a)
A
在 的帮助下,这是到目前为止的样子:@Jigar Joshi
public boolean classEquals(Class a, Class b) {
if (Proxy.isProxyClass(a)) {
return classEquals(a.getSuperclass(), b);
}
return a.equals(b);
}
问题是它不能检测到例如CGLIB代理。