【问题标题】:Is there any reason to use the safe-navigation operator on constructor?是否有任何理由在构造函数上使用安全导航运算符?
【发布时间】:2018-10-10 01:09:36
【问题描述】:

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

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

有什么理由在构造函数之后使用?. 运算符吗?据我了解,构造函数既可以返回新对象也可以抛出异常,因此永远不会有null

【问题讨论】:

    标签: groovy constructor safe-navigation-operator


    【解决方案1】:

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

    【讨论】:

    • 它是否记录在任何地方?我在 groovy 语言规范中找不到这种情况。了解 groovy,可能有一些方法可以覆盖构造函数...
    • 据我所知,虽然有一些方法可以添加额外的构造函数,但它们仍然是构造函数,换句话说,你永远不会得到 null。
    猜你喜欢
    • 2017-12-22
    • 2012-03-07
    • 1970-01-01
    • 2011-09-30
    • 1970-01-01
    • 2012-04-19
    • 2017-07-29
    • 1970-01-01
    相关资源
    最近更新 更多