为了账号安全,请及时绑定邮箱和手机立即绑定

java反射中如何得到以定义顺序排序的方法

java反射中如何得到以定义顺序排序的方法

喵喔喔 2019-03-01 10:46:51
比如: public class Test { public void method1() { } public void method2() { } public String method3() { return "hello"; } void method4(); final int method5() { return 0; } } Class中的getDeclaredMethods可以得到定义的所有方法,但是并不保证顺序。如果想得到以定义顺序的方法列表,应该怎么做呢?
查看完整描述

6 回答

?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

这个顺序一般没有意义,所以反射中是没有顺序的。
如果你确实需要,可以考虑通过注解添加序号,反射中通过读取注解中的序号来排序。

查看完整回答
反对 回复 2019-03-01
?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

好像Java里编译完了就没有顺序了,当然你可以自定义注解,然后根据注解的值来处理。

@FieldOrder("1")
private String x;
@FieldOrder("2")
private String x;

之类的,然后通过这个值排序。

查看完整回答
反对 回复 2019-03-01
?
HUWWW

TA贡献1874条经验 获得超12个赞

Arrays.sort(Test.class.getDeclaredMethods());
查看完整回答
反对 回复 2019-03-01
?
动漫人物

TA贡献1815条经验 获得超10个赞

最简单的方法,就像你代码中写的那样给方法加序号,自然能知道顺序了。再高端一点的玩法就是用注解了。

查看完整回答
反对 回复 2019-03-01
?
狐的传说

TA贡献1804条经验 获得超3个赞

在java源码中有解释 获取方法和属性的方法是不保证顺序的
你可以全部取出或者过滤取出之后排序
或者加入注解标明顺序
关于注解的代码 度娘一搜一大把

查看完整回答
反对 回复 2019-03-01
  • 6 回答
  • 0 关注
  • 955 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号