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

数控冲床厂家

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

[C6140机床名称及参数](Java8)如何在方法中获取参数名称

作者:安尼      发布时间:2021-04-12      浏览量:0
一、参考资料 二、原理简述

一、参考资料

二、原理简述

对应于java8的javac命令支持-parameters选项。如果在编译期间启用此选项,构造函数和普通方法的参数名将保存在编译后的类文件中。

参考文献[2]中的原文如下

我们可以通过jdk提供的反射相关api来访问这些参数名(由于相关信息已经保存在类文件中,我们也可以通过直接用javap分析类文件来看到这些参数名)。

三、实战

构造函数和普通方法,我会写一个例子来演示效果。

第四,建造师

动词(verb的缩写)代码

导入Java . lang . reflect . constructor;导入Java . lang . reflect . parameter;public类show { public static void main(string[]args)引发异常{//find构造函数构造函数=show . class . getconstructor(int . class,object . class);For(参数参数:构造函数。getparameters()){系统。out.println('参数名为: ' parameter . GetName());}}/* * *因为不关心构造函数中的逻辑,所以不在这个构造函数中写任何代码。*两个参数相当于占位符。* * @ param first placeholder rwithalonname是一个很长名字的演示者。易于查看* @param secondPlaceHolder也是一个占位符*/public show(int first placeholder rwithalonname,object second placeholder) {}}

将上面的代码保存为Show.java。

不及物动词编纂

用以下命令编译Show.java(注意:您必须添加-parameters选项才能看到效果)。

javac-参数Show.java

七.运作

使用以下命令运行获得的类文件(注意不要添加后缀。类)。

java -cp。显示

八、确认结果

结果如下

如果Show.class由javap直接分析,还可以看到相应的参数名。使用的命令如下。

javap -cp。-电视节目

完整的结果比较长,类文件的结构是个大题目(而且本文作者水平有限,只知道一个大概的思路),这里就不说了。相关结果截图如下。

此外,如果-parameters选项不是在编译时编写的,则编译时的命令将是。

#这是一个没有看到参数名的javac Show.java

仍然使用以下命令运行获得的类文件

java -cp。显示

这样,您只能看到像arg0 arg1这样的变量名。操作效果图如下。

我在这里

java.lang.reflect.Parameter

我看到下面这段话,可以解释为什么我现在看到的变量名是

arg0

arg1

看看

getName()

源代码(如下所示),你会发现当

名字

对于

无约束力的

或者

''

,返回值将为

军绿色

是这样的。

javap -cp。-电视节目

这时,如果使用上面的命令来分析类文件,就会发现之前看到的MethodParameters属性没有了。

九.普通方法

X.代码

导入Java . lang . reflect . method;导入Java . lang . reflect . parameter;公共类show { public static void main(string[]args)引发异常{//find function method=show . class . getdeclaredmethod(' dummy ',int.class,object . class);For(参数参数:方法。getparameters()){系统。out.println('参数名为: ' parameter . GetName());}}/* * *因为不关心这个函数中的逻辑,所以不写这个函数的任何代码。*两个参数相当于占位符。* * @ param first placeholder rwithalonname是一个很长名字的演示者。容易看到* @param secondPlaceHolder也是一个占位符*/private void dummy(int first placeholder rwithalonname,object second placeholder) {}}

XI。编纂

使用以下命令编译Show.java

javac-参数Show.java

十二.运作

使用以下命令运行获得的类文件

java -cp。显示

十三.结果确认

结果如下

如果Show.class由javap直接分析,还可以看到相应的参数名。使用的命令如下。

javap -cp。-电视节目

相关结果截图如下