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

local の初期値を指定する必要がありますval

val userList = List(新しいユーザー("1", 1))

このエラーは次のことを示しています。

  • valメソッド本体のローカル値として、初期値を割り当てている必要があります。

  • 抽象クラスまたは特性のavalは、初期化されていないままにすることができますが、(具体的な) サブクラスによってどこかで初期化する必要がありますが、

于 2013-07-23T16:05:51.920 に答える
3

最初userListは、val初期化する必要があることを意味します。2 番目userListのタイプList[String]です。追加することはできませんUser。これは、次のようになります。

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