मेरे पास निम्नलिखित कोड हैं:
Boolean bool = null;
try
{
if (bool)
{
//DoSomething
}
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
बूलियन चर "बूल" पर मेरा चेक अप एक अपवाद में क्यों होता है? अगर यह "सत्य" नहीं है तो क्या यह सही है कि यदि यह कथन "अतीत" में कूद जाए? जब मैं इफ स्टेटमेंट हटाता हूं या चेक करता हूं कि क्या यह शून्य नहीं है, तो अपवाद दूर हो जाता है।
if (bool == Boolean.TRUE)एक अपवाद उत्पन्न किए बिना झूठ का मूल्यांकन करता है। यकीन नहीं होता है कि अगर मैं अभी पाया मामले में यह जानबूझकर था।
boolजा रहा है nullया अगर Boolean(करने के लिए संदर्भ के रूप में और नहीं स्पष्ट रूप से निर्माण किया गया था Boolean.TRUE)। तो अनुशंसित नहीं; विरोध के रूप में if (Boolean.TRUE.equals(bool))जो उम्मीद के मुताबिक काम करेगा, जिसमें सुरक्षित रूप से nullमूल्य संभालना शामिल है ।