java - 如何在 Scala 中匿名实现 Java 接口(interface)?

标签 java scala

假设我有一个 Java 界面

public interface Bar {

  public void baz(String st)
  public void jaz()
}

我想在 scala 的函数体中匿名实现上述接口(interface),例如:

def foo() = {
val bar : Bar = new Bar() {
// how to do that ?


 }

}

最佳答案

如果必须的话,我会写成:

val bar = new Bar {
  def baz(st: String): Unit = {
    // method impl
  }

  def jaz(): Unit = {
    // method impl
  }
}

虽然我的偏好是尽可能避免有副作用的方法,但它们在函数式编程中表现不佳

关于java - 如何在 Scala 中匿名实现 Java 接口(interface)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6600943/

相关文章:

java - 在 2 个 HashMap 中找到不同的值

java - Midi 设备未显示 MidiSystem.getMidiDeviceInfo()

java - 线程中的异常 "AWT-EventQueue-0"java.lang.StringIndexOutOfBoundsException : String index out of range: 97

scala - 如何从另一个 sbt 项目引用外部 sbt 项目?

scala - 在哪里可以找到 akka.cloud 包?

scala - Scala中Akka Actor 的调用方法

java - 在 core-1.1.0-runtime.jar 模块中发现重复的类 android.support.v4.app.INotificationSideChannel

java - 使用 selenium webdriver 选择按钮时出现问题

generics - 如何让 XStream 很好地输出 Scala 列表?我可以编写自定义转换器吗?

scala - 使用 Spark DataFrame 的地理过滤器