james246
james246

Reputation: 1904

What does this Java return statement mean?

Am looking over some snippets of code and have come across a return statement which I've never seen before. What does it mean?

return checkDB != null ? true : false;

Here's the whole method code, for reference:

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;
    }

Upvotes: 4

Views: 2140

Answers (4)

andyb
andyb

Reputation: 43823

It's called a ternary operation - a nice one line variation on if else logic.

Upvotes: 1

AbstractChaos
AbstractChaos

Reputation: 4211

its a ternary statement can be read as

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

Upvotes: 4

Marcelo
Marcelo

Reputation: 11308

return checkDB != null ? true : false; is exactly the same as return checkDB != null;.

Upvotes: 1

Aaron Digulla
Aaron Digulla

Reputation: 328714

The same as return checkDB != null

?: is a "ternary operator" which. Example: a ? b : c does the same as a method with this body: { if(a) { return b; } else { return c; } }

Upvotes: 8

Related Questions