"¡Hola, amigo!"
"Hola Kim."
"Le hablaré sobre el tipo booleano. Es un contenedor para el tipo booleano, y es tan fácil como un pastel. Aquí hay un código simplificado de la clase booleana:"
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 otras palabras, la clase es simplemente un contenedor para el tipo booleano".
"Sí. Y tiene dos constantes (VERDADERO y FALSO), que son contrapartes de los valores primitivos verdadero y falso".
"También maneja el autoboxing como un campeón:"
Código | lo que realmente sucede |
---|---|
|
|
"Y así es como funcionan las comparaciones entre tipos booleanos y booleanos:"
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 realmente necesita crear un objeto booleano independiente, debe crearlo explícitamente:
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)
"Creo que eso es todo por ahora".
"Sí, tus lecciones son más cortas que las de Bilaabo".
"Entonces, ¿puedo usar Boolean dentro de una condición if?"
Boolean less = (2 < 3);
if (less)
{
….
}
"Sí, pero no olvide que si menos es nulo, se lanzará una NullPointerException".
"Sí, ya entiendo eso. Simplemente no lo tengo todo en mi cabeza todo el tiempo".
GO TO FULL VERSION