scala如何通过迭代或类似的方式通过修改case类的所有字符串值来复制新的case类?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scala如何通过迭代或类似的方式通过修改case类的所有字符串值来复制新的case类?相关的知识,希望对你有一定的参考价值。

private val replacements = Map("&" -> "&amp;", """"""" -> "&quot;", "<" -> "&lt;", ">" -> "&gt;", "'" -> " &apos;")
def escape(str: String): String = {  
  str.map(c => replacements.getOrElse(c.toString, c)).mkString
}

case class Table(length: Int, prop: String)
case class User (name: String, age: Int, posts: List[String], ex: List[Table])
val user = User("""this & that gonna be < or > so ' all " has to be changed""", 25, List("Lorem$", "Ipsum$"), List(Table(12, "smthin'g")))

想要将具有转义功能的User的新实例复制到所有字符串值,这些功能需要应用到不同的案例类中,案例类可以具有10-20个字符串值

答案

这样的事情?

以上是关于scala如何通过迭代或类似的方式通过修改case类的所有字符串值来复制新的case类?的主要内容,如果未能解决你的问题,请参考以下文章

在迭代器中找到第一个特定的枚举变体并对其进行转换

Scala 中 case class 与 class 的区别(代码示例)

Scala:通过生成器(可迭代)公开 JDBC ResultSet

Apache Spark:迭代数据帧行并通过 MutableList (Scala) 创建新数据帧

scala中怎样调用unapplyseq

Scala快速入门--样例类