mju*_*rez 4 java scala scala-java-interop
我正在尝试从Java代码实例化Kafka Scala案例类,它具有以下签名:
case class OffsetFetchRequest(groupId: String,
requestInfo: Seq[TopicAndPartition],
versionId: Short = OffsetFetchRequest.CurrentVersion,
correlationId: Int = 0,
clientId: String = OffsetFetchRequest.DefaultClientId)
Run Code Online (Sandbox Code Playgroud)
我能够发送所有请求的参数,除了Seq[TopicAndPartition].
在Java方面,我有以下代码:
OffsetFetchRequest offsetFetchRequest = new OffsetFetchRequest(
"someGroup",
topicAndPartitions,
(short)1,
1,
"clientId");
Run Code Online (Sandbox Code Playgroud)
正如所料,a java.util.List与Scala不兼容Seq.不过,我已经尝试了所有类型的转换方法JavaConversions和JavaConverters,我找不到任何适合这种情况.
如何seq从正常java.util.List甚至是java.util.Collection?创建Scala ?或者我接近这个错误?
使用scala.collection.JavaConversions.asScalaBuffer哪个将Java列表转换为Scala缓冲区,其中toList方法可用于转换为不可变seq.
另外,你也可以使用CyclicIterator.