2016-07-20 3 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

Для ограничений вы должны обеспечить реализацию и логику проверки, вы могли бы разместить код реализации '' ConstraintValidator' для NonZero' – Saravana

+3

Возможный дубликат [\ 'ElementType.FIELD \ 'vs \' ElementType.TYPE \ _USE \ '] (http://stackoverflow.com/questions/37898797/elementtype-field-vs-elementtype-type-use) –

+0

Вот полный пример из книги. – Tumelo

ответ

2

Этот оператор представляет собой преобразование типа (double to int).

Без использования специального процессора примечаний или отражения большинство аннотаций можно игнорировать. (Все, кроме самых простых, как @Override)

Смежные вопросы