【发布时间】:2011-07-09 20:23:20
【问题描述】:
当我设计不可变对象时,案例类非常方便,因为自动生成了copy 方法。
但是案例类有它们自己的问题:它们不应该被继承,并且即使你不想要,它们也会给你一个提取器。
所以有时我不得不使用一个普通的 Scala 类。问题是我必须编写自己的不可变 API,这可能非常重复:
class Debt(principalBalance: Double, name: String, endDate: LocalDate) {
def withNewPrincipalBalance(bal: Double) = new Debt(bal, name, endDate)
}
有没有更可扩展的方式来做到这一点?有我可以使用的编译器插件吗?
【问题讨论】:
标签: scala