如何将Java Collection / List转换为Scala seq?

我正在尝试从Java代码实例化Kafka Scala案例类,它具有以下签名:

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?或者我接近这个错误

解决方法:

使用scala.collection.JavaConversions.asScalaBuffer将Java列表转换为Scala缓冲区,其中toList方法可用于转换为不可变seq.

另外,您也可以使用CyclicIterator.

相关文章

共收录Twitter的14款开源软件,第1页Twitter的Emoji表情 Tw...
Java和Scala中关于==的区别Java:==比较两个变量本身的值,即...
本篇内容主要讲解“Scala怎么使用”,感兴趣的朋友不妨来看看...
这篇文章主要介绍“Scala是一种什么语言”,在日常操作中,相...
这篇文章主要介绍“Scala Trait怎么使用”,在日常操作中,相...
这篇文章主要介绍“Scala类型检查与模式匹配怎么使用”,在日...