Java annotation ElementType.TYPE_USE
<p>I am currently learning Java. I just confused when it comes to annotation <code>ElementType.TYPE_USE</code>. Code below comes from a book.</p>

<p>Is this statement a cast or what does it do.</p>

<pre><code>int roundValue = (@NonZero int) value;

@Target({ElementType.TYPE_USE})
  @interface Fatal {
}

@Target(ElementType.TYPE_USE)
  @interface NonZero {
}

class TyepUseTest{
    public void processData() throws @Fatal Exception{
        double value = 10.89;
        int roundValue = (@NonZero int) value;
    }        
}
</code></pre>