欢迎光临数控冲床厂家制造多样化高质量产品!

数控冲床厂家

数控冲床厂家销售生产为主,设备高效稳定运转。

[C6140机床名称和参数]java回射借助asm获取参数名称最优雅简单的方式

作者:安尼      发布时间:2021-04-13      浏览量:0
一、背景描述最近写了反射相关代码,想获得

一、背景描述

最近写了反射相关代码,想获得对应的参数名称,但发现没有特别好的方法。

jdk7及其以前,不能通过反射获得参数名称。

jdk8可以获得,但需要指定的指定,限制很多。

期间,我尝试了类似于Mybatis的使用。@paramparampara,但我觉得不够优雅,后来发现了以下工具。

asm-tool是基于asm的常见工具类。

以下简要介绍使用方法。

?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

method=classutil.getmethod.class.class.class.class.class.clistparamarammhods.getparamnamesByasm(method);Asssert.clistparararing>paramaramethod.cods.cons..cls.cont.contetetplet.contetpletetetpas.conas.contetr.contetetyas.clastetetetr.com(m);As.as.astetastr.classst;Asssst;As.as.asssst;Astr.as.as.as.asssst;Assssssst;Assst.astr.ast.cor.cor.cor.as;As;Asssst;Asssssst;Assr.ast;Assssssser.aser.as;Aser.as;As;Asterter.aserterterterterterterr.er.asterterterter.ertert.conAs;As;Aserterterrtertertertertertertertert.ert;Aserterterter.er.er.erterterterte.as;Ast

八、根据参数注解使用过my

的开发应该不知道如何对待小米的开发,对于小米的开发应该不陌生。

实际上,这也是解决获得方法名称的方法,那就是基础上的读书@Pram的读书。

十、@Param注解

这个注解非常简单,可以直接定义在参数列表上,显示指定字段的名称。

??????????????????????????????????????????????????????????????????

?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

method=Classutil.getmethodAsthodThod.class、forParam"、打开String.class);Listparamethods.getParamnaramesByAnnnotation(method);astparing>parararamethod.g=parasthod.g.g.grararamethod.g.graranananation.contion.con;ation;astion;astion;astion;Ast;Astr.as;Asthond;Ast;Astrastrtr.ast;Astrastrtrtr.ast;Ast;Astrastrt;Astrastrtrtrtr.astrthond;Ast;Ast;Astrastr.ast;Ast;Astrastrastr.asthor.ast;Astrasthor.ast;Ast;Asthor.ast;Asthon,Ast;Astr.astrast;Ast;Astrast;Asthond;Ast;Ast;Ast;Astrastrt;Ast;Astrastrtr.astrtrtrtrtrtrt;Ast;Ast;Ast;Ast;Asthor.ast;Ast;Astrastrastrtr

method,=Classutil.getmethod.class.class.common",String.class);Liststring>paramethods.getParamnamnamesByAnnnotation(method);astparing>pararing>pararing>parararing>pararang>pararamethod.g=thod.chod.conthon.con.con.clet。gethontr.cletrtr.cletrastr.conetr.con;ast。ast。ast。astastrast;astr.astastr.con;astastr.astr.con;astrastr.ast。astastr.con;astastr.astr.con;astr.astr.ast。astr.astrastrastion;ast;astrtrastr.con;ast。ast。astion;ast;astr.ast;astretrtrtrtr.ast;aster.ast。astr.astr.astr.ast。astastr.con;astion。ast。ast。astrertrtrtr.astr.con。astion;ast。astr.ast。ast。astion。ast。

还有两种方式是基于注解和基于ASM。

constructorconstructor=ClassUtil.getconstructor(Constructorsivice.classutil)。