我正在尝试使用"-g:vars“选项生成类文件。这对于类来说工作得很好,并且我获得了源代码中的参数名。但这似乎对Interfaces不起作用。
例如,接口公共接口测试
{
public abstract void doesntWork(String name, String last, int id);
}=======Generates==========
// (version 1.6 : 50.0, no super bit)
public abstract interface Test {
// Method descriptor #4 (Ljava/lang/String;Ljava/lang/String;I)V
public abstract void doesntWork(java.lang.String arg0, java.lang.String arg1, int arg2);
}虽然...
public class Test
{
public void doesntWork(String name, String last, int id) {}
}===========Generates (仅显示相关部件)============
public void doesntWork(java.lang.String name, java.lang.String last, int id);
0 return
Local variable table:
[pc: 0, pc: 1] local: this index: 0 type: Test
[pc: 0, pc: 1] local: name index: 1 type: java.lang.String
[pc: 0, pc: 1] local: last index: 2 type: java.lang.String
[pc: 0, pc: 1] local: id index: 3 type: int我猜这是因为局部变量表不适用于接口。如何获取接口的调试信息?
发布于 2011-10-20 06:57:41
那么,您将在哪里看到接口中的参数名称呢?每个实现类都会提供自己的名称--存储接口名称的意义是什么?
https://stackoverflow.com/questions/7829163
复制相似问题