问题描述
这是我第一次用Java编写自定义注释,而我想要实现的是一个注释,我可以将该注释作为参数传递给一个函数,该函数将从另一个参数实例中读取一个值。 具体来说,方法签名就是这样
public void myMethod(SomeClass param,@MyAnnotation String annotationValue)
注释应获取SomeClass
类中某个方法的返回值。例如,假设这是课程
public class SomeClass {
private EnumValue myField;
public String getMyField() { return myField.name().toLowerCase(); }
}
注释应从传递给函数本身的参数中读取getMyField
返回值。所以,我尝试创建像这样的注释
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {
}
但是我不能将其作为参数传递给函数来完成此技巧。您可能会说我当然可以只从第一个参数中读取值,但是当该方法中的值专门对应于某项并且考虑到同一参数类型的多个函数可以存在多个时,我实际上需要运行此函数课,我不想每次都做一次if检查
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)