Boolean object in JAVA can have 3 values True, False, NULL
public class First {
public static void main(String args[])
{
System.out.println("equals(new Boolean(\"True\"),True) :: " + isEqual(new Boolean("True"), true));
System.out.println("equals(new Boolean(\"False\"), new Boolean(null)) :: " + isEqual(new Boolean("False"), new Boolean(null)));
System.out.println("equals(new Boolean(\"False\"), null)) :: " + isEqual(new Boolean("False"), null));
}
static boolean isEqual(Boolean a, Boolean b)
{
return a.equals(b);
}
}
Output for above code is
equals(new Boolean("True"),True) :: true
equals(new Boolean("False"), new Boolean(null)) :: true
equals(new Boolean("False"), null)) :: false
Please explain why Case 2 returns true but Case 3 returns false
nullequal to any other value ? and in second you are creating objectnew Boolean(null)