import java.lang.annotation.Annotation; 
import java.lang.annotation.ElementType; 
import java.lang.annotation.Retention; 
import java.lang.annotation.RetentionPolicy; 
import java.lang.annotation.Target; 
import java.lang.reflect.Field; 
 
public class Main { 
 
  public static void main(String[] args) { 
    Class d = DataBean.class; 
 
    Field fs[] = d.getFields(); 
    for (Field f : fs) { 
      System.out.println(f); 
 
      Annotation a = f.getAnnotation(DataField.class); 
 
      if (a != null) { 
        System.out.println(f.getName()); 
      } 
    } 
  } 
} 
 
class DataBean { 
  @DataField 
  public String name; 
 
  @DataField 
  public String data; 
 
  public String description; 
} 
 
@Target(ElementType.FIELD) 
@Retention(RetentionPolicy.RUNTIME) 
@interface DataField { 
} 
 
    
  
  |