L'invocation de méthode peut produire une exception Java NullpointerException
J'ai un code:
public String getNameUpdateEvent(long id) {
Cursor mCursor =
db.rawQuery("select name from events WHERE _id=" + id + ";", null);
if (mCursor != null) {
mCursor.moveToFirst();
}
String updateNameEvent;
updateNameEvent = mCursor.getString(mCursor.getColumnIndex("name"));
return updateNameEvent;
}
et Im obtenir un avertissement
Warning:(173, 45) Method invocation 'mCursor.getColumnIndex("name")' may produce 'java.lang.NullPointerException'
Comment je peux le résoudre pls?
source d'informationauteur Raddino
Vous devez vous connecter pour publier un commentaire.
Votre curseur ne peut pas être
null
il va toujours avoir une valeur quelconque. Mais le curseur ne peut être vide, de sorte que vous devez d'abord aller à la première ligne du curseur avec la méthodemoveToFirst()
et si elle renvoietrue
- c'est à dire que le curseur a au moins une ligne, de sorte que vous pouvez faire avec lui tout ce que vous voulez, si elle renvoiefalse
- cela signifie qu'il n'y a rien pour votre requête, de sorte que vous n'avez pas toutes les lignes pour obtenir des données à partir d'. Votre code devrait ressembler à ceci:Solution 1: Puisque vous êtes dur de codage SQL, pourquoi ne pas coder en dur l'indice
Solution 2:
getColumnIndexOrThrow méthode jettera IllegalArgumentException si la colonne n'existe pas.
Solution 1 est plus rapide et simple.