gpt4 book ai didi

java - 无法添加 protobuf 自动生成类的一系列实例

转载 作者:搜寻专家 更新时间:2023-11-01 03:35:04 27 4
gpt4 key购买 nike

我有两个 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)

如何添加AllA?

最佳答案

对于我的简化示例,这是可行的,所以至少您可以尝试:

import scala.collection.JavaConverters._

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

从我的 PoV 来看,错误是由于 java Iterable 和 scala 协方差类型检查的不变性引起的,但不确定。

关于java - 无法添加 protobuf 自动生成类的一系列实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34458879/

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