情况是这样的,我想定义一个 case 类,像这样:
case class A(val s: String)
我想定义一个对象来确保当我创建类的实例时,‘ s’的值总是大写的,就像这样:
object A {
def apply(s: String) = new A(s.toUpperCase)
}
但是,这并不起作用,因为 Scala 抱怨 application (s: String)方法被定义了两次。我知道 case 类语法会自动为我定义它,但是难道没有其他方法可以实现这一点吗?我想继续用案例课因为我想把它用在模式匹配上。