我认为大多数其他答案都涵盖了它,你的问题是使用Option,而不是scala和java整数之间的区别.您可以使用选项执行许多操作,例如:
鉴于:
val optionOfInteger = Option(5)
>(丑陋)假设你的选项总是有一个值,只需使用get(val i = optionOfInteger.get)
>应用默认值:(val i = optionOfInteger.getOrElse(0))
>您可以将整数选项映射到其他选项(val optionOfString = optionOfInteger.map(_.toString))
>您可以在一次调用中执行最后两次操作(val str = optionOfInteger.fold(“Nothing”)(_.toString))
>您也可以将Option视为一个集合的集合,因此您可以使用选项对集合执行的所有好处,包括将其转换为其他类型的集合,折叠等等.
在你的情况下,它的一个很好的用途,可能是决定调用或不调用java方法.
def myFn(findingFrame:FindingFrame)= {
findingFrame.in.foreach {i => javaMethod(i)}
}
在上面你可以使用map或match / case.