Si vous l'utilisez uniquement pour exprimer le statut, il n'y a pas de différence entre short et int. Si vous ne me croyez pas, vous pouvez le compiler et regarder le bytecode.
Code
int flag = 1;
short flag = 1;
et code
int flag = 1;
int flag = 1;
Le bytecode résultant est exactement le même ! Vous obtiendrez le bytecode suivant,
En fonction de votre scénario d'utilisation, s'il est utilisé pour des attributs d'objet ou des paramètres SQL, il est préférable d'utiliser Integer. Parce que vous ne pouvez pas l'initialiser, l'utilisation de int aura une valeur par défaut de 0 (ce 0 n'est peut-être pas ce que vous voulez)
n'a que 0 et 1, vous pouvez utiliser boolean (true ou false) ou byte (0 ou 1, la plage de byte est de -128 ~ 127 si) ; il y a plus de statuts, il est plus recommandé d'utiliser enum
Si vous l'utilisez uniquement pour exprimer le statut, il n'y a pas de différence entre short et int. Si vous ne me croyez pas, vous pouvez le compiler et regarder le bytecode.
Code
et code
Le bytecode résultant est exactement le même ! Vous obtiendrez le bytecode suivant,
En fonction de votre scénario d'utilisation, s'il est utilisé pour des attributs d'objet ou des paramètres SQL, il est préférable d'utiliser Integer. Parce que vous ne pouvez pas l'initialiser, l'utilisation de int aura une valeur par défaut de 0 (ce 0 n'est peut-être pas ce que vous voulez)
Si le statut
n'a que 0 et 1, vous pouvez utiliser
boolean
(true
oufalse
) oubyte
(0 ou 1, la plage debyte
est de -128 ~ 127 si) ; il y a plus de statuts, il est plus recommandé d'utiliserenum
Les booléens et les int sont disponibles. Il n'y a aucune différence.