Je ne sais vraiment pas si cela est possible ou non . Mais je suis coincé dans un endroit où je veux vérifier qu'une valeur int est null
ou non, pour appeler des méthodes différentes.
Y a-t-il un moyen de le faire?
En fait, la variable provient d'un navigateur avec une valeur null
. Je ne peux pas modifier la déclaration int
en Integer
. Parce que cela a ses propres conséquences.
Aucune suggestion?
int
les variables ne peuvent pas être null
Si un null
doit être converti en int
, alors c'est le convertisseur qui décide s'il faut définir 0
, lever une exception ou définir une autre valeur (comme Integer.MIN_VALUE
). Essayez de brancher votre propre convertisseur.
Je pense que vous pouvez initialiser les variables avec une valeur telle que -1
, Si les variables de type int
ne sont pas initialisées, elles ne peuvent pas être utilisées . si c'est -1
.
Je pense que vous parlez d'un code comme celui-ci.
int count = (request.getParameter("counter") == null) ? 0 : Integer.parseInt(request.getParameter("counter"));
si votre variable int est déclarée en tant que variable de niveau classe (variable d'instance), sa valeur par défaut est 0. Mais cela n'indique pas si la valeur envoyée par le client était 0 ou une valeur nulle. vous pouvez peut-être avoir une méthode de définition qui pourrait être appelée pour initialiser/définir la valeur envoyée par le client. alors vous pouvez définir votre valeur d'indicateur, peut être une certaine valeur négative pour indiquer le null.
public class Demo {
private static int i;
private static Integer j;
private static int k = -1;
public static void main(String[] args) {
System.out.println(i+" "+j+" "+k);
}
}
OutPut: 0 null -1
Peut-être le navigateur renvoie-t-il la représentation sous forme de chaîne d'une valeur entière? En fait, int ne peut pas être null. Peut-être pourriez-vous vérifier la valeur null, si la valeur n'est pas nulle, puis transformer la représentation de chaîne en int.
int ne peut pas être nul. Si vous n'attribuez aucune valeur à int, la valeur par défaut sera 0. Si vous souhaitez vérifier la valeur null, indiquez int comme Integer dans la déclaration. Alors l'objet Integer peut être null. Ainsi, vous pouvez vérifier où il est nul ou non. Même lors de la validation du bean javax, vous ne pourrez pas obtenir d'erreur pour l'annotation @NotNull tant que la variable n'aura pas été déclarée en tant qu'Integer.