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 上的讲座(课程:Scala 中的函数式编程),他解释了大多数数据结构的一般用法

于 2013-06-10T09:55:03.153 回答