繁体   English   中英

Java/Scala 必需:Iterable[_ <: Float],找到:Iterable[Float]

[英]Java/Scala Required: Iterable[_ <: Float], found: Iterable[Float]

我在 Java 中有一个带有定义的 protobuf 方法

public Builder addAllTensor(
          Iterable<? extends Float> values)

我用val a: ArrayList[Float]调用 Scala 中的方法,在代码检查期间可以,但在构建期间出错

type mismatch;
 found   : java.util.ArrayList[scala.Float]
 required: Iterable[_ <: java.lang.Float]

但是用a.toIterable调用它会在代码检查中引发错误(在 IntelliJ IDEA 中)

Required: Iterable[_ <: Float], found: Iterable[Float] 

(这怎么可能是类型不匹配......)只是想知道为什么......

问题在于scala.Float与 Java 的Float

collections 内部不会发生自动转换,您必须以某种方式创建 Java 的Float集合。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM