我有一个var
类型ArrayBuffer
。
var selected = new ArrayBuffer[Component](0)
我想从中提取满足给定条件的第一个元素。
var res = selected.filter(_.node == neighbour)(0)
我想要类似上面的行,但是如果没有元素满足该条件,我想res
成为null
。而是,代码将引发错误。
如何获得满足条件的第一个元素或null
?
首先,使用find
而不是filter,它将在上返回第一个Option
。然后使用orNull
来获取值或null
如果缺少该值:
val res = selected.find(_.node == neighbour).orNull
或者你可以使用filter
,headOption
和orNull
val res = selected.filter(_.node == neighbour).headOption.orNull
作为处理时的一种强制性说明null
:Scala惯用和推荐的方法是使用Option
代替null
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句