इस सवाल का पहले से ही एक उत्तर है: < / P>
- 11 उत्तर
क्या किसी को भी पता है क्यों पोस्ट चर्चा अद्यतन: सभी सहायक प्रतिक्रियाओं के लिए धन्यवाद मैं समाप्त कर रहा था। क्यों java.lang.Number संगत नहीं लागू करने के लिए सबसे सरल व्याख्या है, परिवर्तनशीलता चिंताओं में निहित है। समीक्षा के लिए थोड़ा, चारों ओर खुदाई, मुझे पता चला कि यह नहीं है अस्थिर प्रकारों पर इसके अलावा, Java.lang.Number
लागू नहीं होता है तुलनात्मक
? इसका मतलब यह है कि आप संख्या
s को सॉर्ट नहीं कर सकते हैं, जो मुझे थोड़ा अजीब लगता है।
जावा लैंग। संख्या
अमूर्त सुपर प्रकार की AtomicInteger
, AtomicLong
, BigDecimal
, BigInteger
है, बाइट
, डबल
, फ़्लोट
, पूर्णांक
, long
और short < / code>। उस सूची में,
AtomicInteger
और AtomicLong
को लागू नहीं करें Comparable
। तुलनात्मक
कार्यान्वित करने के लिए एक अच्छा अभ्यास है क्योंकि ऑब्जेक्ट्स तुलना के दौरान या उसके बाद तुलना करने के बाद तुलनात्मक बेकार का परिणाम बदल सकते हैं। दोनों AtomicLong
और AtomicInteger
अस्थिर है। एपीआई डिजाइनरों के पास पहले से सोचा था कि संख्या
को लागू करने के लिए तुलनात्मक
नहीं था क्योंकि यह भविष्य की उपप्रकारों के कार्यान्वयन को बाधित करता। java.lang.Number
शुरू में कार्यान्वित किया गया था। AtomicLong
और AtomicInteger
जावा 1.5 में जोड़ा गया था परिवर्तनशीलता से, संभवतः यहां अन्य विचार भी हैं। तुलना करें
को संख्या
में लागू करने के लिए सभी संख्यात्मक मान को BigDecimal
को बढ़ावा देना होगा क्योंकि यह सभी संख्या उप-प्रकार गणित और प्रदर्शन के संदर्भ में उस पदोन्नति के निहितार्थ मुझे थोड़ा अस्पष्ट है, लेकिन मेरा अंतर्ज्ञान पाता है कि समाधान kludgy।
Comments
Post a Comment