« Salut Amigo ! »
"Salut, Kim."
"Je vais vous parler du type booléen. C'est un wrapper pour le type booléen, et c'est aussi simple que bonjour. Voici du code simplifié de la classe booléenne :"
class Boolean
{
public static final Boolean TRUE = new Boolean(true);
public static final Boolean FALSE = new Boolean(false);
private final boolean value;
public Boolean(boolean value)
{
this.value = value;
}
public boolean booleanValue()
{
return value;
}
public static Boolean valueOf(boolean b)
{
return (b ? TRUE : FALSE);
}
}
"En d'autres termes, la classe est simplement un wrapper pour le type booléen."
"Oui. Et il a deux constantes (TRUE et FALSE), qui sont les contreparties des valeurs primitives true et false."
"Il gère également la boxe automatique comme un champion :"
Code | Que se passe-t-il vraiment |
---|---|
|
|
"Et voici comment fonctionnent les comparaisons entre les types booléens et booléens :"
boolean a = true;
Boolean b = true; //Will be equal to Boolean.TRUE
Boolean c = true; //Will be equal to Boolean.TRUE
a == b; //true (comparison based on primitive value)
a == c; //true (comparison based on primitive value)
b == c; //true (comparison based on references, but they point to the same object)
"Si vous avez vraiment besoin de créer un objet booléen indépendant, vous devez le créer explicitement :
boolean a = true;
Boolean b = new Boolean(true); //A new Boolean object
Boolean c = true; //Will be equal to Boolean.TRUE
a == b; //true (comparison based on primitive value)
a == c; //true (comparison based on primitive value)
b == c; //false (comparison based on references; they point to different objects)
"Je pense que c'est tout pour le moment."
« Ouais, tes cours sont plus courts que ceux de Bilaabo.
"Alors, puis-je utiliser Boolean dans une condition if?"
Boolean less = (2 < 3);
if (less)
{
….
}
"Oui, n'oubliez pas que si less est null, alors une NullPointerException sera lancée."
"Ouais, je comprends déjà. Je ne garde pas tout ça dans ma tête tout le temps."
GO TO FULL VERSION