Class.getFields()返回的字段顺序

Kon*_*rus 13 java reflection

Javadoc Class.getFields()说:"返回的数组中的元素没有排序,也没有任何特定的顺序."

有关如何确定订单的任何提示?有可能当我执行两次这个方法时,我得到不同顺序的字段吗?换句话说,对于给定的编译类,或者甚至在同一源文件的编译之间,顺序是否稳定?

Pet*_*rey 8

它应该是稳定的,对于Oracle的JVM,它们的声明顺序,但你不应该依赖它.

您应该根据字段的名称(可能是声明类)而不是位置来查找.