有没有办法向带注释的方法添加特定条件?

时间:2017-02-08 13:44:32

标签: java java-8 annotations

我有一个方法,我想为这个方法添加一些条件。

如果condition为true,则执行此方法,如果不是则跳过此方法。等;

@SomeConditionAnnotation(check)
public void calculate(){
   //some calculations
}

public boolean check(){
  //return boolean
}

我真正想做的是;

public void calculate(){
    if(check()){
        //some calculations
    }
}

2 个答案:

答案 0 :(得分:2)

我认为,您应该使用普通的旧“if-else”,而不是注释。所以,你写了

  

如果condition为true,则执行此方法,如果不是则跳过此方法。

但它是if运算符的描述!

以下是注释的目的:

  

注释是一种元数据形式,提供有关不属于程序本身的程序的数据。注释对它们注释的代码的操作没有直接影响。    link

答案 1 :(得分:1)

您描述的内容可以使用拦截器或装饰器完成。您可以使用CDI(Java EE的一部分,但也可以单独使用)或aspectjSpring AOP或......有许多支持aspect oriented programming的框架。