Han*_*esh 14 java android aide-ide
我正在Android手机上运行AIDE,并且无法编译以下的Java代码:
elements = Arrays.copyOf(elements, elements.length * 2);
这elements是类型int[].我从AIDE得到的错误是
Several methods are applicable to (int[], int): 'java.util.Arrays.copyOf(int[], int)' and 'java.util.Arrays.copyOf<T>(T[], int)'
我希望编译器选择前一个选项,但事实并非如此.我该如何解决这个问题?
这是编译器/IDE 问题。然而,Arrays.copyOf这是一个非常简单的函数,因此如果问题无法通过 IDE/编译器更新解决,只需编写您自己的版本即可。另一种方法是使用反射来调用它。但它会带来一些运行时开销,并且还会使代码看起来很尴尬,因此我建议实现您自己的版本。
这是代码:
public static int[] copyOf(int[] original, int newLength) {
int[] copy = new int[newLength];
System.arraycopy(original, 0, copy, 0,
Math.min(original.length, newLength));
return copy;
}
Run Code Online (Sandbox Code Playgroud)
当然,如果您随后遇到同样的问题System.arraycopy,那么这不起作用。简单地尝试一下。如果它不起作用,您可以将其放在辅助类中,并使用无错误的编译器来编译此辅助类。
| 归档时间: |
|
| 查看次数: |
1240 次 |
| 最近记录: |