我有一个自定义注释,我想在运行时使用它来显示对象属性。我希望它们以源代码顺序出现,但反射不保证Class.getMethods()
.
有没有办法通过反射或注释处理来按源顺序获取方法(如果涉及多级继承,至少每个类)?
例如,假设我有一个界面Property
package test;
public @interface Property {
public String name();
}
以及使用该注释的类
package test;
public class MyObject {
@Property(name = "First")
public void getFirst() {}
@Property(name = "Another")
public void getAnother() {}
}
我想在属性“另一个”之前可靠地获得属性“第一”。
我知道我可以向我的注释添加一个排序属性并对其进行排序,但是如果需要,我有很多类需要更新,所以我正在寻找一种通用方法来实现这一点,而无需修改单个注释。