gpt4 book ai didi

java - Scala - 重写 Scala 类中的 Java 接口(interface)方法

转载 作者:行者123 更新时间:2023-12-02 04:28:05 25 4
gpt4 key购买 nike

我有一个 Java 接口(interface) Writer 定义如下:

public interface Writer<K, V> {

Iterator<Product2<K, V>> iterator ();
}

我正在尝试在 Scala 类 ExternalWriter 中实现此接口(interface),如下所示:

private class ExternalWriter[K, V, C]
extends Logging
with Writer[K, V] {

override def iterator(): Iterator[Product2[K, C]] = {
partitionedIterator.flatMap(pair => pair._2)
}
}

但是当我尝试编译此代码时,出现错误:

Error: Overriding method iterator in trait SortShuffleFileWriter of type ()Iterator[Product2[K,V]]; method iterator has incompatible type override def iterator(): Iterator[Product2[K, C]] = {

如何解决这个问题?

最佳答案

为什么将 V 更改为 C

您的覆盖方法应该是,

override def iterator(): Iterator[Product2[K, V]] = {
partitionedIterator.flatMap(pair => pair._2)

如果你想使用C,那么你应该用C实现Writer

with Writer[K, C] {

关于java - Scala - 重写 Scala 类中的 Java 接口(interface)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31892368/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com