[英]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.