我有一个现有的项目,它使用@Override覆盖接口方法的方法,而不是超类方法.我不能在代码中改变这一点,但我想Eclpse停止抱怨的注解,因为我仍然可以使用Maven构建.
我该如何禁用此错误?
注意:由于项目要求,我需要编译Java 1.5.
我有一个类似的数组:
[null, null, 3, 4, null]
Run Code Online (Sandbox Code Playgroud)
我想把它改成类似的数组:
[3, 4, null, null, null]
Run Code Online (Sandbox Code Playgroud)
我知道如何手动完成它,但它看起来很难看.是否有内置(使用最少的自定义代码)方法?(可能是System.arraycopy的东西)
我完成了这样的事情(感谢@Braj的想法):
@Test
public void test() {
Integer[] k = new Integer[]{null, null, 3, 2, 1};
k[1] = null;
Arrays.sort(k, new Comparator<Object>() {
public int compare(Object o1, Object o2) {
System.out.println(o1);
if (o1 == null) return 1;
else if(o2 == null) return -1;
else return 0;
}
});
assertArrayEquals(
new Integer[]{3, 2, 1, null, null},
k
);
}
Run Code Online (Sandbox Code Playgroud)
如果有人感兴趣,那么有一个更大的问题试图用这个代码来解决