Groovy 如何使用运算符“?”从数组中获取项?

Groovy 如何使用运算符“?”从数组中获取项?,groovy,Groovy,Groovy代码: def line = "aa bb" println line?.split("\\s+")?[1] 我想对数组使用?来获取项目。如果数组为null,则返回null,就像?。 但是上面的代码无法编译。如何修复它?或者有其他简单的替代方案吗?您可以使用getAt而不是[]() 这是列表的默认行为: println (line?.split("\\s+")as List)[1] 始终抛出:java.lang.NullPointerException:无法在null对象上调用

Groovy代码:

def line = "aa bb"
println line?.split("\\s+")?[1]
我想对数组使用
来获取项目。如果数组为null,则返回null,就像
?。


但是上面的代码无法编译。如何修复它?或者有其他简单的替代方案吗?

您可以使用
getAt
而不是
[]
()


这是列表的默认行为:

println (line?.split("\\s+")as List)[1] 

始终抛出:
java.lang.NullPointerException:无法在null对象上调用方法getAt()
println (line?.split("\\s+")as List)[1]