scala:class在将一个类传递给另一个类时接受类型参数?

sdnqo3pr  于 2021-06-08  发布在  Kafka
关注(0)|答案(1)|浏览(377)

我正在尝试创建一个可运行类来与线程一起使用。该类的目的是获取一个kafkastream并将一个函数应用于通过流的每个消息,但是当我尝试将流传递给该类时,会出现以下编译器错误:“scala:45:kafkastream类接受“类型参数”。

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

这是上课时间。问题一定与如何在scala中向类传递参数有关,但我对scala还是新手。
另外,是否可以使函数可运行?我假设传递给函数比传递给类更容易。

cczfrluj

cczfrluj1#

正如评论中所建议的那样,解决办法是通过Kafka团队[?]。在这种情况下?是 KafkaStream[Array[Byte], Array[Byte]] . 我想 KafkaStream[T] 也可以,但我认为如果可能的话,最好通过实际的类型。

相关问题