1
var questionList:List[Question]=null
   questionSetQuestionQuestion=questionSetQuestionService.findQuestionSetQuestionByQuestionSetId(id)


   // println(questionSetQuestionQuestion(0))


  for(x<-questionSetQuestionQuestion){
questionList=x.getQuestion()
  }

ここで、getQuestion() の各値を questionList.! に追加します。

4

2 に答える 2

3

Scala の世界では、可能な限り可変性を避ける必要があるため、List var のループと先頭への追加は機能しますが、より適切なオプションがあります。あなたの場合、「すでに持っている既存のコレクションから新しいコレクションを作成するにはどうすればよいですか?」と考えます。あなたが試すことができるそのアプローチを取る:

val newColl = for(x<-questionSetQuestionQuestion)
  yield x.getQuestion()

mapまたは、次のように関数を直接使用することもできます。

val newColl = questionSetQuestionQuestion.map(_.getQuestion)
于 2013-06-10T11:12:42.720 に答える
0

空のリストとして定義してから追加する必要があります

var questionList:List[Question]=List[Question]()
questionSetQuestionQuestion=questionSetQuestionService.findQuestionSetQuestionByQuestionSetId(id)

for(x<-questionSetQuestionQuestion){
questionList=x.getQuestion() :: questionList
}

PS: Martin Odersky による Coursera の講義 (コース: Functional Programming in Scala) をお勧めします。そこでは、ほとんどのデータ構造の一般的な使用法について説明しています。

于 2013-06-10T09:55:03.153 に答える