注解
注解(元数据)为我们在代码中添加信息提供了一种形式化的方法,使我们可以在稍后某个时刻非常方便的使用这些数据。
三种标准注解:@Override, @Deprecated, @SuppressWarnings
四种元注解: @Target, @Rentetion, @Documented, @Inherited(允许子类继承父类中的注解)
1 基本语法
1.1 定义注解
1 | @Target(ElementType.METHOD) |
- @Target 定义注解应用于什么地方
- @Retention 定义注解在哪一个级别使用
案例:使用注解掌握项目进度1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface UseCase {
public int id();
public String desc() default "no description";
}
public class PasswordUtil {
@UseCase(id = 1, desc = "Password must contain at least one numeric")
public boolean validatePassword(String password){
return password.matches("\\w*\\d\\w*");
}
@UseCase(id = 2)
public String encryptPassword(String password){
return new StringBuffer(password).reverse().toString();
}
@UseCase(id = 3, desc = "new password can not equal previously used ones")
public boolean checkForNewPassword(List<String> prePasswords, String newPassword){
return !prePasswords.contains(newPassword);
}
}
1.2 编写注解处理器
1 | public static void trackUseCases(List<Integer> useCases, Class<?> clz) { |