我有以下变量,我想在没有 if else 条件的情况下打印输出
val students = StudentService.findAllStudents()
val colleges = StudentService.findAllColleges()
我可以使用以下代码在 Scala 中打印输出:
students.map(student => {
val college: Option[College] = colleges.find(college => college.collegeId == student.collegeId)
if(college.isDefined)
s"${student.firstName} ${student.lastName} (${college.get.name} ${college.get.location})"
else
s"${student.firstName} ${student.lastName}"
}).foreach(println)
有没有什么方法可以在不定义大学时不使用 if else 条件的情况下返回结果?
最佳答案
您可以使用 map
结合 getOrElse
:
students.map(student =>
colleges.find(_.collegeId == student.collegeId)
.map(college => s"${student.firstName} ${student.lastName} (${college.get.name} ${college.get.location})")
.getOrElse(s"${student.firstName} ${student.lastName}")
).foreach(println)
关于scala - 在 Scala 中无条件返回字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51514794/