我正在查看代码,想知道这是什么意思:
Boolean foo = request.getParameter("foo") == null? false:true;
它必须是将返回的String从getParameter()转换为布尔值的东西.
但是我从来没有看过这样一个带有问号和冒号的Java(除了在foreach循环中).
任何赞赏!
解决方法
这是三元运算符.片段:
Boolean foo = request.getParameter("foo") == null? false:true;
相当于:
Boolean foo; if (request.getParameter("foo") == null) foo = false; else foo = true;
或(优化):
Boolean foo = request.getParameter("foo") != null;
操作符的基本形式是:
(condition) ? (value if condition true) : (value if condition false)