title: Is there a way to pass a Java annotation as a parameter?
body: <p>Guys is there a way to pass a Annotation as a direct parameter (rather by doing all the reflection overhead)? For example in the following code, I have a annotation Number that holds a int value, I want to pass as a parameter to the addImpl method, how can I do that (other than by reflection)?</p>
  
  <p>Code Snippet:</p>
  
  <pre><code>@Retention(RetentionPolicy.RUNTIME)
  @Target({ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD})
  public @interface Number {
      int value();
  }
  
  public void add(int x2) {
      addImpl(@Number(value = 10) lol, x2);
  }
  
  public void addImpl(Number a, int b) {
      System.out.println(a.value() + b);
  }
  
  public static void main(String[] args) {
      new TestClass().add(3);
  }
  </code></pre>