这个问题是我在java之前找到的一个问题的后续问题
:在类中获取所有变量名
我想要的是从类中获取变量,但不是全部获取变量,我只想要具有注释的变量@isSearchable.
所以基本上我有两个问题:
如何创建注释?
如何仅通过此注释过滤我的字段?
还有一件事,如果它是我经常使用的东西是可取的(我猜测反射应该很慢).
谢谢
/** Annotation declaration */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface isSearchable{
    //...   
}
@isSearchable
public String anyField = "any value";
检查如下:
//use MyClass.class.getDeclaredFields() if you want the fields only for this class.
//.getFields() returns the fields for all the class hierarchy
for(Field field : MyClass.class.getFields()){
    isSearchable s = field.getAnnotation(isSearchable.class);
    if (s != null) {
        //field has the annotation isSearchable
    } else {
        //field has not the annotation
    }
}
| 归档时间: | 
 | 
| 查看次数: | 7311 次 | 
| 最近记录: |