3

下面的类在这一行引发编译器错误val userList : List[User]

Multiple markers at this line
    - only classes can have declared but undefined members
    - only classes can have declared but undefined members

这是整个代码:

class SimilarityData {

  case class User(id: String, jCoeff : Int) 

  def getUsers() =
  {    
    val userList : List[User]
    userList :+ new User("1" , 1);    
  }

}

是什么导致了这个错误?

4

2 回答 2

4

val您必须为 local s提供一个初始值:

val userList = List(new User("1", 1))

该错误提醒您:

  • aval必须分配一个初始值,在您的情况下作为方法体中的本地值。

  • 抽象类或特征上的aval可能未初始化 - 尽管它必须由沿线某处的(具体)子类初始化,

于 2013-07-23T16:05:51.920 回答
3

首先userList是 a val,这意味着您需要对其进行初始化。其次userList是类型List[String]。你不能添加User它。应该是这样的:

val userList = List.empty[User]
userList :+ new User("1" , 1); 
于 2013-07-23T16:06:48.167 回答