Scala:class 在将 class 传递给另一个 class 时采用类型参数?

Scala: class takes type parameters when passing a class to another class?

我正在尝试创建一个可运行的 class 以与线程一起使用。 class 的目的是采用 KafkaStream 并将函数应用于流中的每条消息,但是当我尝试将流传递给 class 时,我得到以下信息编译器错误:“scala:45: class KafkaStream 采用类型参数”。

class streamOperator extends Runnable {
  def run(f: String => Any, stream: KafkaStream) {
    for (messageAndTopic <- stream) {
      var message = new String(messageAndTopic.message)
      f(message)
    }
  }
}

这里是class。这个问题一定与如何在 Scala 中将参数传递给 class 有关,但我对 Scala 还是个新手。

此外,是否可以使函数可运行?我认为传递给函数比 class.

更容易

如评论中所建议的那样,解决方案是传递 KafkaStream[?]。在这种情况下?是 KafkaStream[Array[Byte], Array[Byte]]。我认为 KafkaStream[T] 也可以,但我认为如果可能的话最好传递实际类型。