您的位置:首页 > 编程语言 > Java开发

Java注解开发

2016-09-22 11:15 387 查看
Coder.java

package com.lsm.model;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(ElementType.FIELD)
@Documented
@Retention(RetentionPolicy.RUNTIME)
public @interface Coder {
public String name() default "";
public String language() default "Java";
}


Person.java
package com.lsm.model;

public class Person {
@Coder(name = "TestMan", language = "Scala")
private String skill;

public String getSkill() {
return skill;
}
public void setSkill(String skill) {
this.skill = skill;
}
}


TestProgram.java

package com.lsm.console;

import java.lang.reflect.Field;

import com.lsm.model.Coder;
import com.lsm.model.Person;

public class TestProgram {

public static void main(String[] args) {
Field[] fieldArray = Person.class.getDeclaredFields();
// Field[] fieldArray = Person.class.getFields();
// for (Field f : fieldArray) {
// if (f.getName().equals("skill")) {
// Coder coder = f.getAnnotation(Coder.class);
// System.out.println("Annotation result-- "
// + "name: " + coder.name()
// + "language: " + coder.language());
// }
// }

for (Field f : fieldArray) {
if (f.isAnnotationPresent(Coder.class)) {
Coder coder = f.getAnnotation(Coder.class);
System.out.println("Annotation result-- "
+ "name: " + coder.name() + ", "
+ "language: " + coder.language());
}
}
System.out.println("Done.");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: