什么意思?在Java?

时间:2013-08-12 20:27:58

标签: groovy

我有这样一段代码:

private String getUsername(PersonalAccount account) {
    User usr = (User)account?.usr
    String name = usr?.getName()
    return name
}

在PersonalAccount课程中,我们有了字段:

SimpleUser usr

用户扩展SimpleUser

这意味着什么:?在这两行?

User usr = (User)account?.usr
    String name = usr?.getName()

1 个答案:

答案 0 :(得分:5)

那不是Java,那是Groovy。如果它是Java,你会有分号结束每个语句。

该方法返回传入帐户的用户名,如果帐户为null或用户为空,则返回null。

它使用the safe-navigation operator。如果操作数为null,则safe-navigation运算符求值为null,否则求值为方法调用的结果。这样,如果你对可能为null的东西进行方法调用,则不必担心会出现NullPointerException。