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……”。。。。。。。。。。