gpt4 book ai didi

java - Scala 对象列表到逗号分隔的字符串

转载 作者:行者123 更新时间:2023-12-01 17:48:03 25 4
gpt4 key购买 nike

从 java.util.List[CustomObject] 我想删除值并创建一个逗号分隔的字符串,尝试了下面的代码但出现异常

片段1

def getVal(a_attribList: List[CustomObject]): String = a_attribList
.stream()
.map(new java.util.function.Function[CustomObject, String] {
override def apply(CustomObject): String = {
t.getNolumn
}
})
.collect(Collectors.joining(","))

片段2

def getVal(a_attribList: List[CustomObject]): String = {
a_attribList
.stream()
.map(a => a.getNolumn)
.collect(Collectors.joining(","));
}

异常

type mismatch;
found : java.util.function.Function[com.test.dataobjects.CustomObject,String]
required: java.util.function.Function[_ >: com.test.dataobjects.CustomObject, _ <: R]
.map(a => a.getNolumn)
^
three errors found

最佳答案

正如 @ValentinCarnu 已经指出的那样,代码片段使用的是 scala.collection.immutable.List 而不是 java.util.List
因此,您只需要使用标准 scala 匿名函数来映射它,然后使用 mkString method 将其转换为字符串。

def getVal(a_attribList: List[CustomObject]): String =
a_attribList.map(a => a.getNolumn).mkString(",")

现在,如果你真的有一个java列表,你可以convert it to a Scala list使用JavaConverters package .

import scala.collection.JavaConverters._
def getVal(a_attribList: java.util.List[CustomObject]): String =
a_attribList.asScala.map(a => a.getNolumn).mkString(",")

关于java - Scala 对象列表到逗号分隔的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53082943/

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