我有一个方法,我想为这个方法添加一些条件。
如果condition为true,则执行此方法,如果不是则跳过此方法。等;
@SomeConditionAnnotation(check)
public void calculate(){
//some calculations
}
public boolean check(){
//return boolean
}
我真正想做的是;
public void calculate(){
if(check()){
//some calculations
}
}
答案 0 :(得分:2)
我认为,您应该使用普通的旧“if-else”,而不是注释。所以,你写了
如果condition为true,则执行此方法,如果不是则跳过此方法。
但它是if
运算符的描述!
以下是注释的目的:
注释是一种元数据形式,提供有关不属于程序本身的程序的数据。注释对它们注释的代码的操作没有直接影响。 link
答案 1 :(得分:1)
您描述的内容可以使用拦截器或装饰器完成。您可以使用CDI
(Java EE的一部分,但也可以单独使用)或aspectj
或Spring AOP
或......有许多支持aspect oriented programming的框架。