2

我有这样一段代码:

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()
4

1 回答 1

5

那不是 Java,那是 Groovy。如果是 Java,则每条语句都会用分号结束。

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

它使用安全导航操作符。如果操作数为 null,则安全导航运算符的计算结果为 null,否则计算为方法调用的结果。这样,如果您对可能为 null 的内容进行了方法调用,则不必担心会收到 NullPointerException。

于 2013-08-12T20:30:00.623 回答