0

我有一些代码依赖于使用 Java 1.7 编译的 jar。我目前在 OSX 上工作,我只能访问 Java 1.6。我目前正在尝试在本地重新编译这些 jar。但是,jar 只包含 .class 文件。我下载了一个反汇编程序并保存了生成的 .java 文件。现在,我目前正在尝试调试一些错误。其中一个文件检查某些参数是否等于类或类型。我遇到的问题是有表达

if (paramType.equals([D.class)) { ... }

这导致编译器错误。表达双数组类的正确方法是什么?

4

2 回答 2

4

假设它是 (primitive) 的数组double

if (paramType.equls(double[].class)) { ... }

或者,如果它是(wrapper type)java.lang.Double的数组:

if (paramType.equls(Double[].class)) { ... }
于 2012-11-17T18:56:11.207 回答
0

如果这些类没有链接到 Java 1.7 中引入的任何新库类,那么它们在 Java 1.6 中应该可以正常工作,因为 1.7 中引入的唯一字节码功能实际上并未在 Java 中使用。

您所要做的就是将每个文件的第 8 个字节从 51 更改为 50。您甚至不必拆卸和重新组装它们。

于 2013-01-31T21:01:08.957 回答