Scala 使用管道分隔符将case类转换为字符串

Scala 使用管道分隔符将case类转换为字符串,scala,Scala,如果我有一个如下所示的案例类: case class EmployeeJobDataFields( empID: String,firstName: String,lastName: String,fullName: String) 我有这样的数据 EmployeeJobDataFields("1043855", "Test", "User", "Test User") 如何使用管道分隔符转换和获取单个字符串,如下所示 “1043855 | Test | User | Test U

如果我有一个如下所示的案例类:

 case class EmployeeJobDataFields( empID: String,firstName: String,lastName: String,fullName: String)
我有这样的数据

    EmployeeJobDataFields("1043855", "Test", "User", "Test User")
如何使用管道分隔符转换和获取单个字符串,如下所示
“1043855 | Test | User | Test User”

当然,您可以向执行此任务的
案例类添加一个方法,如果这是您所要求的。如果愿意,您甚至可以覆盖
toString

以下是一种可能的实现:

case类EmployeeJobDataFields(empID:String,firstName:String,lastName:String,fullName:String){
重写def toString:String=Seq(empID,firstName,lastName,fullName).mkString(“|”)
}

当然,您可以向执行此任务的
案例类添加一个方法,如果这是您所要求的。如果愿意,您甚至可以覆盖
toString

以下是一种可能的实现:

case类EmployeeJobDataFields(empID:String,firstName:String,lastName:String,fullName:String){
重写def toString:String=Seq(empID,firstName,lastName,fullName).mkString(“|”)
}

您可以利用case类隐式扩展这一事实,它提供了对其元素进行迭代的方法

employee.productIterator.mkString("|")
// val res0: String = 1043855|Test|User|Test User

您可以利用case类隐式扩展这一事实,它提供了对其元素进行迭代的方法

employee.productIterator.mkString("|")
// val res0: String = 1043855|Test|User|Test User

使用相同的分隔符进一步拆分以得到字符串employee.productIterator.mkString(“|”)的数组。拆分(“|”)后,我得到的数据如下:“1”、“0”、“4”、“3”、“8”、“5”、“5”、“5”、“5”、“s”、“T”、“e”、“e”、“s”、“T”、“e”、“r”、“U”、“s”、“e”、“r”、“r”、“T…………使用相同的分隔符进一步拆分以得到字符串employee.productIterator.mkString(“|”)的数组.split(“|”),我得到的数据如下:“1”、“0”、“4”、“3”、“8”、“5”、“5”、“T”、“e”、“s”、“T”、“e”、“s”、“s”、“e”、“r”、“T……”。。。。。。。。。。