var questionList:List[Question]=null
questionSetQuestionQuestion=questionSetQuestionService.findQuestionSetQuestionByQuestionSetId(id)
// println(questionSetQuestionQuestion(0))
for(x<-questionSetQuestionQuestion){
questionList=x.getQuestion()
}
这里我想将每个getQuestion()值添加到questionList。!
答案 0 :(得分:3)
在Scala世界中,如果可能的话,应该避免可变性,因此当循环和前置List var工作时,有更多可口的选项。在您的情况下,我会更多地将其视为“我如何从现有的集合中构建新集合?”。采取这种方法,你可以尝试:
val newColl = for(x<-questionSetQuestionQuestion)
yield x.getQuestion()
或者你可以像这样直接使用map
函数:
val newColl = questionSetQuestionQuestion.map(_.getQuestion)
答案 1 :(得分:0)
您需要将其定义为空List,然后附加到
var questionList:List[Question]=List[Question]()
questionSetQuestionQuestion=questionSetQuestionService.findQuestionSetQuestionByQuestionSetId(id)
for(x<-questionSetQuestionQuestion){
questionList=x.getQuestion() :: questionList
}
PS:我会推荐Martin Odersky在Coursera上的讲座(课程:Scala中的函数编程),其中解释了大多数数据结构的一般用法