2011-08-13 21 views
0

奧拉Android的測試,對空和條件

的Android/JAVA的問題,我需要測試,如果對象不爲空,如果不爲空校驗值,從而避免運行時錯誤。作爲我習慣的vb.net背景;

if (not BackgroundWorker1 = nothing) andalso (backgroundworker.status = running) then

有一個迷人的, '一個IF'/單線方式JAVA做到這一點?

謝謝!

+0

我猜在你的例子'BackgroundWorker1'和'backgroundworker'是爲了同樣的事情嗎? –

+0

是的,錯字,對不起,非常尖銳! – Lectere

回答

0

有一個漂亮的直接翻譯:

if (BackgroundWorker1 != null && Backgroundworker1.status == running) 
{ 
    // "then" part here 
} 

就像VB的andalso操作,Java也使用短路計算,其邏輯運算符。

1

當然,

if (backgroundWorker != null && backgroundWorker.status == running) { 

作品在Java中,因爲語句從左到右進行評估。

0

Basic中的andAlso的道德等價物爲&&。注意,並不容易等價於簡單的and(即,邏輯運算符的非短路版本)。

+0

Java中有'&&'的非短路版本。它是'&'。 –

+0

@Luke - 出於好奇心,我在JLS中的布爾操作數上使用時查找了'&'的規範。我今天學到了新東西。謝謝(認真)。 http://java.sun.com/docs/books/jls/first_edition/html/15.doc.html#5242 – Dirk