[英]What kind of Java syntax is “== null? false:true;”
我正在查看代碼並想知道這意味着什么:
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)
那是三元運算符:
(condition) ? if-true : if-false
整件事情可以寫成:
Boolean foo = request.getParameter("foo") != null;
哪個IMO更清潔代碼。
if
您可以在表達式內部使用?:
Java Tutorial在此描述它: http : //download-llnw.oracle.com/javase/tutorial/java/nutsandbolts/op2.html
(轉到ConditionalDemo2)
這是簡寫
Boolean foo;
if(request.getParameter("foo")==null)
{
foo = false;
}
else { foo = true; }
整件事情可能就是
Boolean foo = (request.getParameter("foo") != null);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.