दो संख्यात्मक मूल्य की तुलना करने के लिए घटाव "चाल" टूट गया है !!!
int a = -2000000000;
int b = 2000000000;
System.out.println(a - b);
यहाँ, a < b
अभी तक a - b
सकारात्मक है।
इस मुहावरे का प्रयोग न करें। यह काम नहीं करता है।
इसके अलावा, यहां तक कि अगर यह काम करता है , यह प्रदर्शन में कोई महत्वपूर्ण सुधार प्रदान नहीं करेगा, और वास्तव में लागत पठनीयता हो सकती है।
यह सभी देखें
- जावा गूढ़ व्यक्ति पहेली 65: एक अजीब तरह की अजीब गाथा
इस पहेली के कई पाठ हैं। सबसे विशिष्ट है: एक घटाव-आधारित तुलनित्र का उपयोग न करें जब तक कि आप सुनिश्चित न हों कि मूल्यों के बीच का अंतर कभी भी अधिक नहीं होगा Integer.MAX_VALUE
। अधिक आम तौर पर, int
अतिप्रवाह से सावधान रहें । एक और सबक यह है कि आपको "चतुर" कोड से बचना चाहिए। स्पष्ट, सही कोड लिखने के लिए प्रयास करें, और इसे तब तक अनुकूलित न करें जब तक कि यह आवश्यक साबित न हो।