2011-07-08 42 views
4

我正在查看一些代碼片段,並且遇到了一個我從未見過的return語句。這是什麼意思?這個Java返回語句是什麼意思?

return checkDB != null ? true : false; 

這裏的整個方法的代碼,以供參考:

private boolean checkDataBase(){ 
     SQLiteDatabase checkDB = null; 
     try{ 
      String pathToDB = dbPath + dbName; 
      checkDB = SQLiteDatabase.openDatabase(pathToDB, null, SQLiteDatabase.OPEN_READONLY); 
     }catch(SQLiteException e){ 
      //database does't exist yet. 
     } 
     if(checkDB != null){ 
      checkDB.close(); 
     } 
     return checkDB != null ? true : false; 
    } 
+2

其冗餘代碼。 – Kal

+0

*「快速提問」*「生命的意義是什麼?」是一個「快速」問題 - 但答案*需要更長的時間。 –

回答

8

同爲return checkDB != null

?:是 「三元運算符」,這。例如:a ? b : c做同樣爲與此體的方法:{ if(a) { return b; } else { return c; } }

+1

我更喜歡 返回checkDB!= null 並完成它 – Travis

+0

是一個巧妙僞裝的版本if(x == true){return true} – Voo

+0

謝謝Aaron和其他所有回答。現在一切都清楚了! – james246

1

return checkDB != null ? true : false;是完全一樣return checkDB != null;

4

其三元語句可以理解爲

if(checkDB != null) { 
    return true; 
} 
else { 
    return false; 
}