Scala:检查 Scala 中对象的 return 字段值
Scala: check and return field value from object in Scala
I have global variable option object is student
def getName(id: Int) : Option[Student] = {
if (student.isDefined){
student.get.name
} else {
""
}
}
如何清理这里的代码?请帮我。非常感谢
如果你有一个 Option[Student] 类型的变量
case class Student(name:String)
val student:Option[Student] = Option(Student("a name"))
您可以使用 map 和 getOrElse 清理代码
student.map(_.name).getOrElse("")
map 将您的 Option[Student] 转换为 Option[String],它是 Some("name") 或 None.
然后您可以使用 getOrElse 来获取值或在 None 的情况下的替代值。
小心,使用 "isDefined" 和 "get" 方法是一种不好的做法。
首先,如果 id
是未使用的参数,那么如果您不打算使用它,请将其删除。
利用大小写类.
case class Student(name: String)
val student = Option(new Student("ABC"))
def getName() => if (student == None) StringUtils.Empty else student.name
您可以在此处使用 fold
:
student.fold(""){ _.name }
I have global variable option object is student
def getName(id: Int) : Option[Student] = {
if (student.isDefined){
student.get.name
} else {
""
}
} 如何清理这里的代码?请帮我。非常感谢
如果你有一个 Option[Student] 类型的变量
case class Student(name:String)
val student:Option[Student] = Option(Student("a name"))
您可以使用 map 和 getOrElse 清理代码
student.map(_.name).getOrElse("")
map 将您的 Option[Student] 转换为 Option[String],它是 Some("name") 或 None.
然后您可以使用 getOrElse 来获取值或在 None 的情况下的替代值。
小心,使用 "isDefined" 和 "get" 方法是一种不好的做法。
首先,如果 id
是未使用的参数,那么如果您不打算使用它,请将其删除。
利用大小写类.
case class Student(name: String)
val student = Option(new Student("ABC"))
def getName() => if (student == None) StringUtils.Empty else student.name
您可以在此处使用 fold
:
student.fold(""){ _.name }