将字符串列表转换为案例对象列表



>我有以下案例对象

sealed trait Type
case object Foo extends Type
case object Bar extends Type

我得到了一个包含以下内容的字符串列表

Foo, Bar

有没有办法将它们转换为上面定义的案例对象列表?

您可以声明一个函数,该函数将字符串转换为给定的类型

sealed trait Type
case object Foo extends Type
case object Bar extends Type
val inputList = List("Foo","Bar","Foo","Bar")
def convertToCaseObject(input: String) ={
input match{
case "Foo" => Foo
case "Bar" => Bar
}
}
val output = inputList.map(x => convertToCaseObject(x))

在这里,函数 convertToCaseObject 接受一个输入字符串,模式匹配它们并给出相应的类型作为输出。所以最终你最终得到想要的输出。 如果您需要任何进一步的信息,请联系我们。谢谢

让我们说,

sealed trait Type
case object Foo extends Type
case object Bar extends Type
val inputList = List("Foo","Bar","Foo","Bar","Other","SomeJunk")
inputList.map(x=>if(x=="Foo")Foo else if(x=="Bar") Bar else x )

在 Scala REPL 中:

scala> inputList.map(x=>if(x=="Foo")Foo else if(x=="Bar") Bar else x )
res33: List[java.io.Serializable] = List(Foo, Bar, Foo, Bar, Other, SomeJunk)

最新更新