मुझे पता है कि Double
एक रैपर वर्ग है, और यह double
नंबर लपेटता है। आज, मैंने एक और मुख्य अंतर देखा है:जावा: तुलना में अलग डबल और डबल
double a = 1.0;
double b = 1.0;
Double c = 1.0;
Double d = 1.0;
System.out.println(a == b); // true
System.out.println(c == d); // false
मेरे साथ अजीब !!!
तो, अगर हम Double
, हर बार उपयोग करते हैं, हम कुछ इस तरह करना चाहिए:
private static final double delta = 0.0001;
System.out.println(Math.abs(c-d) < delta);
मैं व्याख्या नहीं कर सकते क्यों डबल कर सीधे तुलना गलत। कृपया मेरे लिए समझाओ।
धन्यवाद :)
उपयोग' 'बजाय == की': वस्तुओं प्रकारों के लिए यह हमेशा
equals
विधि का उपयोग करने के लिए बेहतर है। '==' केवल संदर्भों की जांच करता है। – Baz@ बाज़ आह, मैं समझता हूं। डबल एक वर्ग है। यह तुलना मूल्य की तुलना में वस्तु की तुलना करेगा। जब हम 'स्ट्रिंग' के साथ करते हैं तो यह समस्या पसंद करती है। '==' :) – hqt
के बजाय 'बराबर' का उपयोग करना चाहिए हां, बिल्कुल ... – Baz