我正在尝试覆盖以下Java方法:
@Override
public void processMeter(MetricName name, Metered meter, Long epoch)
throws IOException {
// implementation
}
此Scala声明无法编译:
@throws(classOf[IOException])
override def processMeter(name: MetricName, meter: Metered, epoch: Long) {
// implementation
}
报告的错误是:
Error:(30, 18) method processMeter overrides nothing
override def processMeter(name: MetricName, meter: Metered, epoch: Long) {
^
我专门使用Scala 2.9.0.1。
答案 0 :(得分:3)
编译器看到scala.Long
而不是java.lang.Long
,因此无法找到要覆盖的方法签名。试试这个:
@throws(classOf[IOException])
override def processMeter(name: MetricName, meter: Metered, epoch: java.lang.Long) {
// implementation
}