2016-07-20 41 views
1

現在Javaを学習中です。私はちょうどそれが注釈ElementType.TYPE_USEになると混乱した。下のコードは本から来ます。JavaアノテーションElementType.TYPE_USE

このステートメントはキャストかどうかです。

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; 
    }   
} 
+0

実装には制約と検証ロジックを用意する必要がありますが、 'NonZero'の' ConstraintValidator'実装コードを投稿できますか? – Saravana

+3

[\ 'ElementType.FIELD \ 'vs \' ElementType.TYPE \ _USE \ '](http://stackoverflow.com/questions/37898797/elementtype-field-vs-elementtype-type-use) –

+0

これは、本の完全な例です。 – Tumelo

答えて

2

この文は、型変換(doubleからint)です。

特殊なアノテーションプロセッサやリフレクションを使用しないと、ほとんどのアノテーションは無視できます。 (@Overrideのような最も基本的なものを除くすべて)

関連する問題