Java Scala';无需覆盖';错误

Java Scala';无需覆盖';错误,java,scala,Java,Scala,在Scala中为Hbase编写mapreduce作业时,我遇到了这个奇怪的问题。问题是,我的scala类让ScalaMapReducer扩展以下类 但是,当我这样做并“重写”map方法(继承自TableMapper的超类映射器)时,scala会抱怨错误“map overrides nothing”并且无法编译,而我可以在Java中这样做而不会出现任何问题 我发现了以下解决方法: 1) 定义一个虚拟Java类,该类扩展TableMapper类并用一些空实现覆盖映射。现在从scala扩展这个虚拟类

在Scala中为Hbase编写mapreduce作业时,我遇到了这个奇怪的问题。问题是,我的scala类让ScalaMapReducer扩展以下类

但是,当我这样做并“重写”map方法(继承自TableMapper的超类映射器)时,scala会抱怨错误“map overrides nothing”并且无法编译,而我可以在Java中这样做而不会出现任何问题

我发现了以下解决方法:

1) 定义一个虚拟Java类,该类扩展TableMapper类并用一些空实现覆盖映射。现在从scala扩展这个虚拟类

2) 我在谷歌上找到的 它定义了映射器特性

虽然我猜测这可能与内部类有关,但我没有更多的线索和解释

这是一个一般的Scala问题

编辑: 来自scala类的示例代码

class ScalaMapReducer extends TableMapper[Text,IntWritable]
{
    override def map(row:ImmutableBytesWritable,result:Result,context:Context):Unit  =
    {
        //..some code
    }
}

“映射不覆盖任何内容”错误几乎总是因为映射中的键、值类型和reduce定义不匹配。仔细检查,还有一些示例代码可能有助于更好地进行调试。

根据提供的信息(即没有代码!),最有可能发生的错误是使用类型参数的错误。例如,如果接口定义了一个方法:

public interface I<T> { public void doStuff(T t); }

虽然我不能确定,因为你没有给我们看代码。如果您使用的是IDE,为什么不让它填写一个空白的实现呢?(使用IDEA,这是
CTRL-i

您可以添加一些示例代码来说明错误吗?
class I0 extends I[String] { override def doStuff[String](String s) }
                                               // ^^^^^^  ^^^^^^
                                               // oops, a type parameter