Java se5內置三種注解:
Override
Deprecated 警告信息
SuppressWarnings 關閉警告
元注解:
@Target 表示注解用在什麼地方,包括type(類,接口,enum聲明),parameter(參數聲明)
@Retention 表示在什麼級別保存該注解信息。
@Documented 用於javadoc
@Inherited 允許子類集成父類的注解
一個簡單的注解處理器:
public static void trackUseCase(List<Integer> useCases,Class<?> cl){
for (Method m : cl.getDeclaredMethods()) {
UseCase uc= m.getAnnotation( UseCase. class);
if ( uc!= null) {
System. out.println( "found use case:"+uc.id()+" "+ uc .description());
useCases.remove( new Integer( uc.id()));
}
}
for ( int i : useCases) {
System. out.println( "Warning :missing useCase-"+i);
}
}
public static void main(String[] args) {
List<Integer> useCases= new ArrayList<Integer>();
Collections. addAll(useCases, 47,48,49,50);
trackUseCase(useCases,PasswordUtils. class);
}