解释Java语法

1 java syntax

我正在查看一段包含以下内容的Java代码:

User rv = tmp != null && tmp.size() > 0 ? tmp.get(0) : null;
Run Code Online (Sandbox Code Playgroud)

我对Java语法不是很强.我的理解是,rv = tmp只要tmpnull tmpsize> 0,要不就等于null.我对么?

das*_*ght 7

这是这个表达的"解剖学":

rv =                                // assignment of a conditional expression
    (tmp != null && tmp.size() > 0) // condition
?   tmp.get(0)                      // on true
:   null;                           // on false
Run Code Online (Sandbox Code Playgroud)

这是确保列表中没有异常访问元素零的常用方法:条件确保tmp不是null,并且大小是一个或多个.