gpt4 book ai didi

java - 一些名为arg0、arg1等的函数参数...在编译一个JAR库之后

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:39:00 33 4
gpt4 key购买 nike

我好像遇到过一个问题,Ant 编译一个Jar 库后,一些函数参数是arg0、arg1 等...而不是它们的真实名称。有问题的函数都属于库中的一个内部接口(interface)。

我正在使用 Ant 命令编译一个库:

ant clean release -Dversion.code=1 -Dverbose=true -Ddebug=true -Ddebuglevel="vars"

鉴于此,出于某种原因,部分方法丢失了它们的参数名称,而其他方法保留了它们的参数名称。即:

Func a(String specificName1) turns into a(String arg0)

同时

Func b(String specifcName2) turns into b(String specificName2)

问题如下:该库内部有一个内部接口(interface)类。为什么接口(interface)函数获取名为 arg0、arg1 等的参数,而其他方法保留其正确的参数名称?


我正在开发一个 Android 库,我正在 Eclipse IDE 上测试库 jar。

编译本身是在 Android 自己的 ant build.xml 中编辑的:

        <javac encoding="${java.encoding}"
source="${java.source}" target="${java.target}"
debug="true" debuglevel="vars" extdirs="" includeantruntime="false"
destdir="${out.classes.absolute.dir}"
bootclasspathref="project.target.class.path"
verbose="${verbose}"
classpathref="project.javac.classpath"
fork="${need.javac.fork}">
<src path="${source.absolute.dir}" />
<src path="${gen.absolute.dir}" />
<compilerarg line="${java.compilerargs}" />
</javac>

最佳答案

好的,终于找到答案了,希望对大家有帮助:

短篇小说是:参数名称可以从 javadoc、外部源文件或类本身中提取。新的事情是,当试图从类本身获取参数名称信息时,接口(interface)类不能像普通类那样保留它们的参数名称(根据 Oracle 的 Java 规范手册)。

这实际上在我以前没有找到的其他帖子中得到了回答:

Java method parameter names from a JAR file in Eclipse

这也支持没有解决方案:

Preserving parameter/argument names in compiled java classes

关于java - 一些名为arg0、arg1等的函数参数...在编译一个JAR库之后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18556400/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com