有没有办法按照声明的顺序使用反射获取类声明的字段(和方法)?根据该文件,方法和字段的顺序返回的getFields()
,getDeclaredFields()
等是不确定的.
使用Java反射中建议的注释可以指定像索引之类的东西:类字段和方法的顺序是否标准化?
有没有更好的选择,即不必手动指定索引?
现在在你问我需要什么之前:我们有一个方法,它将一个非常大的数据结构作为输入,并对其进行冗长的计算.为了创建单元测试,我们创建了一个方法,该方法接受输入对象和输出实例,并创建Java源代码(设置输入,调用计算方法,然后断言正确的结果)作为输出.当字段按声明顺序编写时,此代码更易读.
情况似乎是异常的,但我被要求构建序列化器,它将通过连接"get"方法的结果将对象解析为字符串.值应与源代码文件中声明的"get"等效值的顺序相同.
所以,例如,我们有
Class testBean1{
public String getValue1(){
return "value1";
}
public String getValue2(){
return "value2";
}
}
Run Code Online (Sandbox Code Playgroud)
结果应该是:
"value1 - value2"
Run Code Online (Sandbox Code Playgroud)
不是
"value2 - value1"
Run Code Online (Sandbox Code Playgroud)
Class
根据文档,它不能用对象完成.但是我想知道我是否可以在"*.class"文件中找到这些信息还是丢失了?如果存在这样的数据,也许有人知道为此目的准备使用的工具?如果无法找到此类信息,请提出最专业的实现目标的方法.我想为应该序列化的类的getter添加某种自定义注释.