Juste une remarque : le wasNull permet d'identifier si la case qui vient d'être appelée était NULL, ce qui est utile pour les types primitifs (int par exemple) qui vont obtenir une valeur par défaut (0 pour int) alors qu'on pourrait vouloir différencier le NULL du 0.
Exemple :
Integer val = Myreader.getInt(1); // val==0 si NULL
if (Myreader.wasNull())
val = null;
Donc clairement l'utilisation d'un wasNull vient immédiatement après un getType et non juste après un next() où le résultat ne va pas avoir de sens.