【发布时间】:2011-06-17 21:52:41
【问题描述】:
让代码先说话
def bars = foo.listBars()
def firstBar = bars ? bars.first() : null
def firstBarBetter = foo.listBars()?.getAt(0)
是否有更优雅或惯用的方法来获取列表的第一个元素,或者如果不可能,则为 null? (我不会认为 try-catch 块在这里很优雅。)
【问题讨论】:
-
#listBars 返回什么?如果您尝试从列表中获取不存在的元素,Groovy 不应该抛出异常。
final l = []assert l[0] == nullassert l.getAt(0) == nullassert l instanceof ArrayList