关于Java annotation

我想利用Java6的自定义annotation生成一些系统相关的配置信息,但是我注解了属性后为什么在对属性进行遍历拿他们的注解时都显示没有注解过,代码如下,希望大家帮我看看。
package com.vanphoo.jqgrid;
import java.lang.annotation.Annotation;
import java.lang.reflect.Field;
public class User {
	@Index(indexName="用户")
	private String name;
	@Index(indexName = "性别")
	private String sex;
	@Index(indexName = "年龄")
	private int age;

	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	
	
	public static void main(String[] args) {
		Annotation[] a = User.class.getDeclaredAnnotations();
		Field[] field = User.class.getDeclaredFields();
		if(field.length>0) {
			for(int i=0;i<field.length;i++) {
				Field f = field[i];
				if(f.isAnnotationPresent(Index.class)) {
					Index index = f.getAnnotation(Index.class);
					System.out.println(index.indexName());
				}
			}
		}
	}
	
}


package com.vanphoo.jqgrid;

public @interface Index {
	public String indexName();
}

你可能感兴趣的:(java,F#)