簡體   English   中英

無法添加所有protobuf自動生成的類的實例序列

[英]Cannot addAll a sequence of instances of a protobuf auto-generated class

我有兩個protobuf消息,其中

message A {
    ...
}

message B {
    repeated A hoge = 1;
}

和protoc生成Java代碼:

public Builder addAllA(java.lang.Iterable<? extends A> values) {
    ...
}

但是Scala代碼導致類型不匹配,預期:Iterable [_ <:A],實際:Iterable [A]

B.newBuilder().addAllA(A.newBuilder().build().toIterable)

我怎樣才能添加AllAll?

對於我的簡化示例,這是有效的,所以至少你可以嘗試:

import scala.collection.JavaConverters._

B.newBuilder().addAllA(A.newBuilder().build().toIterable.asJava)

從我的PoV出現錯誤是因為java Iterable和scala協方差類型檢查的不變性,但不確定。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM