Java反思:类字段和方法的顺序是否标准化?
在 Java 类上使用反射来访问所有字段、方法等:
这些元素是否有标准化的顺序(在某些标准中指定)?
当然,我可以凭经验检查它,但我需要知道它是否总是 相同。
编辑:
我在等待问题:我需要订单做什么;)
长话短说:我有 JAXB 注释的类,并且不想要 直观地表示这些类别。 而 XML 属性的顺序 与 XML 都不相关 标准,也不适合 JAXB,我希望 XML 属性有一定的顺序 视觉表现。
例如:开始在结束之后。 这会伤害人的直觉。
Using reflection on Java classes to access all field, methods, and so on:
Is there a standardized order of these elements (which is specified in some standard)?
Of course, I could check it empirically, but I need to know if it's always
the same.
EDIT:
I waited for the question: What I need the order for ;)
Long story short: I have JAXB-annotated classes, and want no
represent these classes visually. While the order of XML attributes
is neither relevant for the XML
standard, nor for JAXB, I want to have a certain order the XML attributes for the
visual representation.
For example: start comes after end. This hurts one's intuition.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
根据文档:
getFields ()
getMethods()
According to the documentation:
getFields()
getMethods()
我基于注释的想法的示例。
A sample for my annotation based idea.
即使 getFields() 和 getMethods() 返回结果没有特定的顺序,您也可以将返回数组中的元素添加到集合中,并提供您自己的比较器来按您想要的方式对它们进行排序。
在此示例中,我只是根据字段和方法名称的字母顺序对字段和方法进行排序 - 但您可以通过在相应的比较器中提供所需的逻辑,根据声明类、修饰符、返回类型等对它们进行排序。
Even though getFields() and getMethods() return results in no particular order, you can add the elements in the returned arrays to collections, and provide your own Comparator to sort them however you want.
In this example, I'm just sorting the fields and methods based on the alphabetical order of their names - but you could sort them based on declaring class, modifiers, return types, etc. by providing the required logic in the respective Comparator.