Java Android反射无法进行注释
难以获取有关字段批注的信息 这是我的注解:Java Android反射无法进行注释,java,android,annotations,Java,Android,Annotations,难以获取有关字段批注的信息 这是我的注解: public @interface DbField {} 这是我的班级: public class AccountData extends Data { @DbField public String uidnext; 这是我的倒影 Field f = AccountData.class.getField("uidnext"); Log.d("fcrow", String.format("%s:%b", f.getName(),
public @interface DbField {}
这是我的班级:
public class AccountData extends Data {
@DbField
public String uidnext;
这是我的倒影
Field f = AccountData.class.getField("uidnext");
Log.d("fcrow", String.format("%s:%b", f.getName(),
f.getAnnotation(DbField.class) != null));
输出为:
D/fcrow: uidnext:false
我对联机找到的大多数指向此代码工作的点感到困惑。修改注释声明以包含运行时保留策略:
@Retention(RetentionPolicy.RUNTIME)
public @interface DbField {}
如果不这样做,您将获得默认的保留策略CLASS
。其文件规定:
注释将由编译器记录在类文件中,但不需要在运行时由VM保留。这是默认行为
我已经读过这篇文章,但仍然对我的代码为什么不起作用感到困惑,这篇文章中是否有一个特定的部分针对这个问题跳出来问你?