我在 Java 中有一個帶有定義的 protobuf 方法
public Builder addAllTensor(
Iterable<? extends Float> values)
我在 Scala 中使用 a 呼叫該方法,val a: ArrayList[Float]在代碼檢查期間沒問題,但在構建期間出錯
type mismatch;
found : java.util.ArrayList[scala.Float]
required: Iterable[_ <: java.lang.Float]
但是用a.toIterable它呼叫它會引發代碼檢查錯誤(在 IntelliJ IDEA 中)
Required: Iterable[_ <: Float], found: Iterable[Float]
(這怎么可能是型別不匹配......)只是想知道為什么......
uj5u.com熱心網友回復:
問題在于scala.Float與 Java 的Float.
集合內部不會發生自動轉換,您必須以某種方式創建 Java 的Float.
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/377869.html
下一篇:如何使sbt組裝任務依賴于測驗
