Takip koduna sahibim:
Boolean bool = null;
try
{
if (bool)
{
//DoSomething
}
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
Neden Boole değişkeni "bool" üzerinde yaptığım denetleme bir istisna ile sonuçlanıyor? Doğru olmadığını "gördüğünde" sadece if ifadesini geçmemeli midir? İf deyimini kaldırdığımda veya boş değilse kontrol ettim, istisna ortadan kalkar.
if (bool == Boolean.TRUE)bir istisna oluşturmadan yanlışları değerlendirir. Bulduğum durumda bunun kasıtlı olup olmadığından emin değilim.
boololmak nullVeya eğer Boolean(referans olarak ve açık bir şekilde inşa edilmiştir Boolean.TRUE). Bu yüzden tavsiye edilmez; aksine değerlerin if (Boolean.TRUE.equals(bool))güvenli bir şekilde ele alınması da dahil olmak üzere beklendiği gibi çalışacaktır null.