标签:ota 文档化 turn 自定义 cep throws lambda lse time
是什么
她今年三十岁上下,个子高挑,身材匀称,黑黑的眉毛,红红的脸蛋。
这句话提供了几个信息:年龄(三十岁上下)、身高(个子高挑)、相貌(身材匀称,黑黑的眉毛,红红的脸蛋)
"年龄"、"身高"、"相貌" 就是元数据。
怎么用
import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Inherited; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /* * @Author:darrenqiao * */ @Retention(RetentionPolicy.RUNTIME) //存储到运行期 @Target(ElementType.FIELD) //作用于字段 @Documented //可以被文档化 @Inherited //可以被注解的子类继承 //这里指定自定义注解的作用是检查值是在value为true时确保字段值仅为male和female中的一个 public @interface MyAnnotation { boolean value() default true; }
import java.lang.reflect.Field; /* * @Author:darrenqiao * */ //定义使用自定义注解的类 class Person { @MyAnnotation(value = true) public String gender; public Person(String gender) { super(); this.gender = gender; } } //通过反射实现对注解的处理 class CheckAnnotation { public static boolean check(Object object) throws IllegalArgumentException, IllegalAccessException { Field[] fields = object.getClass().getDeclaredFields(); for(Field field : fields) { String gender = (String) field.get(object); return gender.equals("male") || gender.equals("female"); } return false; } } public class AnnotationTest { public static void main(String[] args) throws Exception { Person p = new Person("male"); //调用注解进行检查 System.out.println(CheckAnnotation.check(p)); } }
标签:ota 文档化 turn 自定义 cep throws lambda lse time
原文地址:https://www.cnblogs.com/darrenqiao/p/9191816.html