有没有理由在构造函数上使用安全导航操作符?

时间:2018-04-29 22:49:47

标签: groovy constructor safe-navigation-operator

我的一位朋友给我发了以下代码:

def pass = new File("password_file.txt")?.text ?: "pass"

有没有理由在构造函数之后使用?.运算符?据我所知,构造函数可以返回一个新对象或抛出异常,因此永远不会有null

1 个答案:

答案 0 :(得分:1)

您的理解是正确的。您的示例中无需为null安全调用文本。如果文件为空,可能仍应使用elvis运算符。