scala:case class&copy()返回Any

lol*_*ley 0 scala copy case-class slick

你能帮我解决一个基本问题吗?我有一个"Rdv"(会议)列表,其中Rdv是一个案例类,有3个字段存储电话号码为字符串:telBureau,telPortable和TelPrivé.

我通过本机SQL查询从光滑中获取此列表; 此查询使用String或"null"(空对象,而不是"null"字符串)填充3个电话号码字段.我想删除这些空字段,所以我写了这个:

var l2:List[Rdv] = liste.list()
l2=l2.map( (w:Rdv) =>{
    if ( w.telPrivé==null ) w.copy( telPrivé = "" )
})
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

found:List[Any], required:List[Rdv]
Run Code Online (Sandbox Code Playgroud)

所以在地图后我添加了".asInstanceOf [List [Rdv]]",但后来我收到了这个错误:

java.lang.ClassCastException: scala.runtime.BoxedUnit cannot be cast to metier.Objets$Rdv
Run Code Online (Sandbox Code Playgroud)

这似乎是一个基本问题,但我不能这样做.

奥利维尔.

Ran*_*ulz 5

试试这个:

var l2: List[Rdv] = liste.list()

l2 = l2 map ((w: Rdv => if (w.telPrivé == null) w.copy( telPrivé = "" ) else w)
Run Code Online (Sandbox Code Playgroud)