Fru*_*sch 7 java annotations java-8
我想将方法传递给注释.这样的事情可能吗?
@MyAnnotation(method = MyClass::myMethod)
private String myVariable;
Run Code Online (Sandbox Code Playgroud)
Dan*_*ahn 11
传递方法不是一种选择.相反,传递以下内容,以便您可以使用反射找到方法.
@MyAnnotation(clazz=String.class, method="contains", params= {CharSequence.class})
@interface MyAnnotation {
Class<?> clazz();
String method();
Class<?>[] params() default {};
}
MyAnnotation annotation = // get the annotation
annotation.clazz().getMethod(annotation.method(), annotation.params());
Run Code Online (Sandbox Code Playgroud)