我正在尝试从Java代码实例化一个Kafka Scala case类,其签名如下:
case class OffsetFetchRequest(groupId: String,
requestInfo: Seq[TopicAndPartition],
versionId: Short = OffsetFetchRequest.CurrentVersion,
correlationId: Int = 0,
clientId: String = OffsetFetchRequest.DefaultClientId)
我可以发送除
Seq [TopicAndPartition]
之外的所有请求参数。在Java端,我有以下代码:
OffsetFetchRequest offsetFetchRequest = new OffsetFetchRequest(
"someGroup",
topicAndPartitions,
(short)1,
1,
"clientId");
如预期,一个
java.util.List
与Scala的Seq
不兼容。但是,我已经尝试了所有类型的转换方法在JavaConversions
和JavaConverters
中,并且我找不到适用于这种情况的任何东西。我该如何从普通的
java.util.List
甚至是java.util.Collection
创建一个Scala seq
?或者我是否错误地接近了这个问题?
toList
或者其他Seq
子类型转换器怎么样? - puhlen