为什么scala函数参数可以';你不能重新分配到一个新的吗?

为什么scala函数参数可以';你不能重新分配到一个新的吗?,scala,Scala,当我使用上面的代码时,编译器在语句“if(x==null)x=new Node”中给我一个错误“reassignment to val”,为什么?你不能,方法参数在scala中是不可变的(即,它们是vals)默认情况下,方法参数在scala中是val。@SudhirSingh不是“默认情况下”,它们根本不可能是var。 class NodeL(a :Int){ var value = a } def change(x :NodeL) = { if(x == null

当我使用上面的代码时,编译器在语句“if(x==null)x=new Node”中给我一个错误“reassignment to val”,为什么?

你不能,方法参数在scala中是不可变的(即,它们是
vals

默认情况下,方法参数在scala中是
val
。@SudhirSingh不是“默认情况下”,它们根本不可能是
var
  class NodeL(a :Int){
    var value = a
  }

  def change(x :NodeL) = {
    if(x == null) x = new Node
  }