JavaEE
(2)
收藏
我要回答
jdk1.8之前java文件编译成class文件时并不会将参数名字也一起编译进去,而是以arg0,arg1这种模糊名字来替代。想要获取参数名字只能通过ASM、javassist等外部方法来实现。
Java编译时执行了javac -parameters命令,加上-parameters 就会把参数名也编译进去。之后就可以通过反射取出来了。
默认我们在Eclipse中编译时没有加这个-parameters 参数,所以即使用了jdk8也无法取出参数名。
eclipse可以通过配置来改变编译结果。
jdk1.8之前java文件编译成class文件时并不会将参数名字也一起编译进去,而是以arg0,arg1这种模糊名字来替代。想要获取参数名字只能通过ASM、javassist等外部方法来实现。
Java编译时执行了javac -parameters命令,加上-parameters 就会把参数名也编译进去。之后就可以通过反射取出来了。
默认我们在Eclipse中编译时没有加这个-parameters 参数,所以即使用了jdk8也无法取出参数名。
eclipse可以通过配置来改变编译结果。