java - 我该如何在 Scala 中做到这一点?

标签 java scala

所以,我今天刚开始学习Scala,并且做得还不错,但是我遇到了这个问题......

我需要在 Scala 中执行此操作,但在整理时遇到困难:

final Filter<GameObject> filter = new Filter<GameObject>() {
    public boolean accept(GameObject o) {
        ...
    }
};

我有 ATM,但它甚至无法编译:

val filter = new Filter[GameObject] {
    override def accept(o: GameObject) {
        ...
    }
}

提前致谢。

编辑:

这是到目前为止的整个对象:

object Targeter extends LoopTask {

  val filter = new Filter[GameObject] {
    override def accept(o: GameObject) = { true }
  }

  //  Overriding a method in the LoopTask class
  override def loop() = {
    100
  }
}

最佳答案

我认为您错过了返回类型:

override def accept(o: GameObject) = {...}

override def accept(o: GameObject): Boolean = {...}

这两个变体是相同的(假设您实际上在此方法的主体中返回一些 boolean 值)。

<小时/>

如果您像这样定义accept方法:

override def accept(o: GameObject) {...}

那么它与:

相同
override def accept(o: GameObject): Unit = {...}

Unit相当于java中的void

关于java - 我该如何在 Scala 中做到这一点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4916520/

相关文章:

java - Apache Camel,在服务器启动和停止时发送消息

json - 无法使用 json4s 正确提取 json

performance - 如何在 Scala 中近似数据结构的大小?

scala - 如何在 Eclipse 中添加 sbt 和 Play 2.0 可以看到的依赖项

java - jpanel中如何在图片上方添​​加按钮

尝试从 API 获取 JSON 时,Java Spring 出现错误 404。从事 postman 工作

java - scala中的toString和mkString有什么区别?

scala - 如何在 Scala 中将 IPv6 地址与 BigInteger 相互转换

java - 我可以同时拥有 JDO 和 JPA 注释吗?

java - JPA 命名查询显示错误