我想知道如果我在 Java 6 中编译,但有人在 Java 7 上运行程序,会使用 Java 6 或 7 版本的 Arrays.sort 吗?
这很重要,因为新的合并排序会引发 IllegalArgumentException,而旧的不会(请参阅比较方法违反其一般合同!仅限 Java 7)
现在,可以使用 Arrays.useLegacyMergeSort 在 Java 7 中进行编译,但显然该标志不适用于 Java 6 - 我们希望在 Mac OS Snow Leopard(使用 6)上兼容。
出于某种原因(请参阅http://madbean.com/2006/target14/) -target 编译器标志似乎不会产生兼容的代码,因此我们宁愿在 Java 6 中编译。
有什么建议么?