object上的Scala文档评论:
实际上,没有类型参数的case类默认情况下会创建一个同名的单例对象,并实现Function*特征。
with a Function* trait implemented
是什么意思?
答案 0 :(得分:5)
*
是案例类的基数;也就是说,它需要的参数数量。
把它放在一起:
case class Foo(a: Int, b: Long)
表示如下所示的代码:
class Foo(val a: Int, val b: Long)
object Foo extends Function2[Int,Long,Foo] {
def apply(a: Int, b: Long): Foo = new Foo(a,b)
}
上面的代码不完整,case类创建了很多其他帮助函数,如漂亮打印,不适用于模式匹配,结构相等测试等。