我有这样一段代码:
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()
答案 0 :(得分:5)
那不是Java,那是Groovy。如果它是Java,你会有分号结束每个语句。
该方法返回传入帐户的用户名,如果帐户为null或用户为空,则返回null。
它使用the safe-navigation operator。如果操作数为null,则safe-navigation运算符求值为null,否则求值为方法调用的结果。这样,如果你对可能为null的东西进行方法调用,则不必担心会出现NullPointerException。