¿Qué significa esta declaración de retorno de Java?

Estoy mirando sobre algunos fragmentos de código y he encontrado una declaración de retorno que nunca he visto antes. Qué significa eso?

return checkDB != null ? true : false; 

Aquí está el código completo del método, como referencia:

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

Lo mismo que return checkDB != null

?: Es un "operador ternario" que. Ejemplo: a ? b : c a ? b : c hace lo mismo que un método con este cuerpo: { if(a) { return b; } else { return c; } } { if(a) { return b; } else { return c; } }

Su declaración ternaria se puede leer como

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

return checkDB != null ? true : false; Es exactamente el mismo que return checkDB != null; .

Se llama una operación ternaria – una variación agradable de una línea en if else lógica.

  • ¿Es posible encontrar otros teléfonos cercanos?
  • Búsqueda asistida por Android: El botón de búsqueda no invoca la actividad que se puede buscar (Otras soluciones no ayudaron)
  • ¿Reacciona la compilación nativa de JavaScript en Java para Android?
  • No se pueden actualizar los resúmenes de cabecera de PreferenceActivity en teléfonos inteligentes que ejecutan 4.x
  • URLConnection getContentLength () devuelve un valor negativo
  • Eclipse - Destino "desconocido" en el selector de dispositivos Android
  • Rendimiento de procesamiento de datos recursivo utilizando Java y SQLite
  • JavaScript en Android
  • Nombre de paquete alias o apodo
  • El cajón de la navegación se contrae al cerrar
  • El fallo de conexión de Retrofit devuelve RetrofitError.response como null
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.