Boolean объект в JAVA может иметь 3 значения True, False, NULLJava обработка булевых и 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);
}
}
Выход для выше кода
equals(new Boolean("True"),True) :: true
equals(new Boolean("False"), new Boolean(null)) :: true
equals(new Boolean("False"), null)) :: false
Пожалуйста, объясните, почему Случай 2 возвращает истину но Case 3 возвращает false
Очевидно, что значение null не может быть равно действительной, не нулевой ссылке. – duffymo
Как может быть «null» равно любому другому значению? а во втором вы создаете объект 'new Boolean (null)' –
new Boolean (null) означает, что объект Boolean создан и его значение равно false. – kswaughs