当前位置:网站首页>Annotation初体验
Annotation初体验
2022-07-06 23:23:00 【菜鸟xiaowang】
1.定义注解
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Person {
String name() default "abc";
int age() default 20;
}
2.使用注解
public class Student {
@Person(name = "王xx",age = 30)
public Object person;
}
3.处理注解
public class PersonUtils {
public static void getPersonInfo(Class<?> clazz){
for (Field declaredField : clazz.getDeclaredFields()) {
if (declaredField.isAnnotationPresent(Person.class)){
Person person = declaredField.getAnnotation(Person.class);
System.out.println("name:"+person.name()+"age"+person.age());
}
}
}
}
4.测试
PersonUtils.getPersonInfo(Student.class);
5.结果
边栏推荐
猜你喜欢
【问道】编译原理
记录一次压测经验总结
Operand of null-aware operation ‘!‘ has type ‘SchedulerBinding‘ which excludes null.
Basic knowledge of road loss of 3GPP channel model
ThinkPHP关联预载入with
Leetcode (46) - Full Permutation
[question] Compilation Principle
Analysis -- MySQL statement execution process & MySQL architecture
Batch normalization (Standardization) processing
使用知云阅读器翻译统计遗传学书籍
随机推荐
ThinkPHP关联预载入with
Leetcode minimum difference in student scores
Mysql database (basic)
Why JSON is used for calls between interfaces, how fastjson is assigned, fastjson 1.2 [email protected] Mapping relatio
漏电继电器JOLX-GS62零序孔径Φ100
局部变量的数组初始化问题
NiO related knowledge points (I)
PMP证书有没有必要续期?
在米家、欧瑞博、苹果HomeKit趋势下,智汀如何从中脱颖而出?
U++ metadata specifier learning notes
sublime使用技巧
腾讯云数据库公有云市场稳居TOP 2!
torch optimizer小解析
LinkedBlockingQueue源码分析-初始化
ThinkPHP Association preload with
最长回文子串(动态规划)
Inventory host list in ansible (I wish you countless flowers and romance)
SQL injection HTTP header injection
磁盘监控相关命令
【最佳网页宽度及其实现】「建议收藏」