遇见,的gravatar头像
遇见, 2014-10-14 10:51:07

JAVA编译后方法参数名称改变怎么解决。

写了一个方法

public void executeSql(String sql) {

}

经过JAVA编译后打成JAR包方法参数名改变成paramString

public void executeSql(String paramString) {

}

其实也没什么影响,但是想做封装成一个方法,一般大家写sql语句  

String sql = "SELECT * FROM AAA";

如果参数名称是sql  那么就直接调用方法不用再把paramString改成sql了。

各位有遇到此类情况吗。

所有回答列表(5)
遇见,的gravatar头像
遇见,  LV36 2015年10月28日

是eclipse如果class文件如果使用jad插件默认打开的话 那么eclipse自定提示带出class中的方法的话参数名会变为paramString..  paramInt 或者arg1 arg2等等。 

如果设定为eclipse默认的class file viewer显示的话 。 那么提示出来的参数名会和编译后class文件中参数名一样了。

评论(0) 最佳答案
bianyang17的gravatar头像
bianyang17  LV3 2014年10月14日

打包以后的参数名称改变对你调用方法没有影响。

调用方法 的参数只要类型和你设置的参数相同就可以的,名称是没关系的,比如说你例子中的,你调用方法时如果先定义String a="select * from AAA";

然后定义方法executeSql(a);这样也是可以的,只要你传递的参数内容没错就可以

56777815的gravatar头像
56777815  LV9 2014年10月14日

没明白你什么意思,举个例子看看,不改参数名你是怎么用的?

ggmk1123的gravatar头像
ggmk1123  LV1 2014年10月16日

编译器如果将参数sql改paramString,那么相应的,函数中的sql也应该要改成paramString才对,否则编译器就有Bug了。你确认编译后只有函数参数名变,而函数内使用的这个变量名没有变化么?

linkswu的gravatar头像
linkswu  LV16 2014年10月20日

这个编译你不用管的,就如经常的你定义一个变量int a=(方法执行返回结果),你这个代码编译后你用反编译工具打开就变成了  int result=(方法执行返回结果),编译时经常出现的

顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友