Boolean
layout: default
title: Boolean
Boolean's valueOf returns one of two pre-constructed Boolean objects: Boolean.TRUE or Boolean.FALSE.
Boolean boolObject;
boolObject = Boolean.valueOf(true);
System.out.println( boolObject == Boolean.TRUE ); // true: valueOf returned reference to Boolean.TRUE
boolObject = Boolean.valueOf("true");
System.out.println( boolObject == Boolean.TRUE ); // true: valueOf returned reference to Boolean.TRUE
- Autoboxed
Booleans use these cached objects as well.
Boolean b = true;
System.out.println(b == Boolean.TRUE); // true: autoboxing calls valueOf, which returned ref to Boolean.TRUE
Boolean's parseBoolean, which is used by both valueOf and the String-argument constructor, returns true if the passed String is equal to "true", ignoring case; otherwise false:
public final class Boolean implements java.io.Serializable,
Comparable<Boolean>
{
//...
public static boolean parseBoolean(String s) {
return ((s != null) && s.equalsIgnoreCase("true"));
}
//...
}
- Whitespace is NOT ignored.
Boolean's toString produces either "true" or "false".
Drill¶
Which of these statements will print true?
System.out.println( Boolean.parseBoolean(" true ") );
System.out.println( Boolean.parseBoolean("true") );
System.out.println( Boolean.parseBoolean(null) );
System.out.println( Boolean.valueOf(true) );
System.out.println( Boolean.valueOf("trUE") );
System.out.println( Boolean.TRUE );