我正在查看代码并想知道这意味着什么:
Boolean foo = request.getParameter("foo") == null? false:true;
Run Code Online (Sandbox Code Playgroud)
它必须是将返回的String从getParameter()转换为布尔值的东西.
但我从来没有见过这种带有问号和冒号的Java(除了在foreach循环中).任何帮助升值!
pax*_*blo 26
这是三元运营商.片段:
Boolean foo = request.getParameter("foo") == null? false:true;
Run Code Online (Sandbox Code Playgroud)
相当于:
Boolean foo;
if (request.getParameter("foo") == null)
foo = false;
else
foo = true;
Run Code Online (Sandbox Code Playgroud)
或(优化):
Boolean foo = request.getParameter("foo") != null;
Run Code Online (Sandbox Code Playgroud)
运营商的基本形式如下:
(condition) ? (value if condition true) : (value if condition false)
Run Code Online (Sandbox Code Playgroud)
Nul*_*ion 18
那是三元运算符:
(condition) ? if-true : if-false
Run Code Online (Sandbox Code Playgroud)
整件事情可以写成:
Boolean foo = request.getParameter("foo") != null;
Run Code Online (Sandbox Code Playgroud)
哪个IMO更清洁代码.
| 归档时间: |
|
| 查看次数: |
25291 次 |
| 最近记录: |