I';我得到java.lang.IllegalArgumentException

I';我得到java.lang.IllegalArgumentException,java,reflection,byte-buddy,Java,Reflection,Byte Buddy,我发现以下错误: java.lang.IllegalArgumentException:[static java.lang.String com.runtime.MyInterceptor.Interceptor()]都不允许从公共java.lang.String java.lang.Object.toString()进行委派 我不知道我犯了什么错误 public void interceptMethod() throws InstantiationException, IllegalAcces

我发现以下错误:

java.lang.IllegalArgumentException:[static java.lang.String com.runtime.MyInterceptor.Interceptor()]都不允许从公共java.lang.String java.lang.Object.toString()进行委派

我不知道我犯了什么错误

public void interceptMethod() throws InstantiationException, IllegalAccessException {
    Class<?> dynamicType = new ByteBuddy().subclass(Object.class)
            .method(ElementMatchers.named("toString"))
            .intercept(MethodDelegation
            .to(MyInterceptor.class))
            .make()
            .load(getClass().getClassLoader(), ClassLoadingStrategy.Default.WRAPPER)
            .getLoaded();

    if (dynamicType.newInstance().toString().equals("intercept")) {
        System.out.println("method intercept() is intercepted by byteBuddy");
    } else {
        System.out.println("Failed to intercept the method toString()");
    }

}

class MyInterceptor {
    static String intercept() {
        return "intercept";
    }
}
public void interceptMethod()抛出实例化异常,IllegalAccessException{
类dynamicType=newbyteBuddy().subclass(Object.Class)
.method(ElementMatchers.named(“toString”))
.拦截(方法)
.to(MyInterceptor.class))
.make()
.load(getClass().getClassLoader(),ClassLoadingStrategy.Default.WRAPPER)
.getLoaded();
if(dynamicType.newInstance().toString().equals(“intercept”)){
System.out.println(“方法拦截()被byteBuddy拦截”);
}否则{
System.out.println(“未能拦截方法toString()”;
}
}
类拦截器{
静态字符串截距(){
返回“截取”;
}
}

公开拦截器方法:

public class MyInterceptor {
    public static String intercept() {
        return "intercept";
    }
} 

但我仍然面临着同样的问题,这很奇怪,当我使用更改运行代码时,您的代码正在工作。MyInterceptor是嵌套类吗?也许试着把它公开,静态的,或者公开的,如果它是顶级的。嗨,高,我把我的拦截器做为公开的,它正在工作。非常感谢你:)你在linkedin吗?我在那里有一个帐户,尽管我很少登录。顺便说一句,如果您满意,请接受答案;>