簡體   English   中英

什么樣的Java語法是“== null?假:真;”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM