0

在 netbeans 和 eclipse 上课时,我有一个奇怪的行为。

下面的类在eclipse(juno)中编译OK,但netbeans(7.3)告诉我“MyComparator不是抽象的,不会覆盖Comparable的抽象方法compareTo(Object)”。源设置为使用 1.7 版。

import java.io.*;
import org.apache.hadoop.hbase.filter.WritableByteArrayComparable;

public class MyComparator extends WritableByteArrayComparable {
protected int offset;

public MyComparator () {
}

public MyComparator (byte[] mask, int offset) {
       //...
}

@Override
public void readFields(DataInput in) throws IOException {
      // do something
}

@Override
public void write(DataOutput out) throws IOException {
      // do something
}

public int compareTo(byte[] value) {
    //do something here
}
}

我该怎么做才能让它在 netbeans 中也能正常工作?

编辑:hbase 的版本是 0.92.1 - 可以找到抽象类,例如。这里: http: //archive.cloudera.com/cdh4/cdh/4/hbase-0.92.1-cdh4.0.0/apidocs/org/apache/hadoop/hbase/filter/WritableByteArrayComparable.html

4

1 回答 1

0

不知道它是如何在eclipse中编译的。eclipse 和 net beans 类路径中可能存在不同版本的 WritableByteArrayComparable。

但是 WritableByteArrayComparable 是一个抽象类,你还没有实现它的所有抽象方法。检查链接

至少这个没有实现

public abstract int compareTo(byte [] value, int offset, int length);
于 2013-03-14T10:07:21.773 回答