„Здрасти, Амиго!“
— Здравей, Ким.
„Ще ви разкажа за булевия тип. Това е обвивка за булевия тип и е лесен като пай. Ето малко опростен code от булевия клас:“
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);
}
}
„С други думи, класът е просто обвивка за булевия тип.“
"Да. И има две константи (TRUE и FALSE), които са двойници на примитивните стойности true и false."
„Също така се справя с автобокса като шампион:“
Код | Какво наистина се случва |
---|---|
|
|
„И ето How работят сравненията между булеви и булеви типове:“
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)
„Ако наистина трябва да създадете независим булев обект, трябва да го създадете изрично:
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)
— Мисля, че засега това е всичко.
— Да, вашите уроци са по-кратки от тези на Билаабо.
„И така, мога ли да използвам Boolean в condition if?“
Boolean less = (2 < 3);
if (less)
{
….
}
„Да, просто не забравяйте, че ако less е null, тогава ще бъде хвърлено изключение NullPointerException.“
„Да, вече го разбирам. Просто не държа всичко в главата си през цялото време.“
GO TO FULL VERSION