相关疑难解决方法(0)

如何覆盖案例类伴随中的应用

所以情况就是这样.我想像这样定义一个case类:

case class A(val s: String)
Run Code Online (Sandbox Code Playgroud)

我想定义一个对象,以确保在创建类的实例时,'s'的值始终为大写,如下所示:

object A {
  def apply(s: String) = new A(s.toUpperCase)
}
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用,因为Scala抱怨apply(s:String)方法定义了两次.我理解case类语法会自动为我定义它,但是我不能用另一种方法来实现它吗?我想坚持使用case类,因为我想将它用于模式匹配.

scala pattern-matching case-class

81
推荐指数
5
解决办法
4万
查看次数

标签 统计

case-class ×1

pattern-matching ×1

scala ×1