在Scala中是否有(或将来会有)可能创建具有命名参数的case class?我的意思是使用构造函数中的命名参数构造case class对象。
我的case class有很多字段。如果构造函数有很多未命名参数,则容易出错。
我想要得到(目前不起作用的示例):
case class X(x0:String, x1:Int, x2:String)
val x = X(x0="Xstring", x1=12, x2="x2String")
作为解决方法,我们可以提供以下工厂方法,如下摘录所示,但这是一种丑陋的解决方案:
case class X(x0:String, x1:Int, x2:String)
object X {
private nullX = X(null, null, null)
def createX = nullX.copy _
}
val x = X.createX(x0="Xstring", x1=12, x2="x2String")
有线索吗?:)
编辑: 这是IntelliJ IDEA Scala插件的一个错误,是一些旧版本的问题。请不要再投票了;)
scala -version
- Jack