मुझे यकीन नहीं है कि यह एक निश्चित कथन है, लेकिन ऐसा लगता है कि जावा एपीआई एनम पर निरंतर स्याही पसंद करता है। मैंने उपयोग किए गए एपीआई के कुछ हिस्सों से, मुझे कई final static int
स्थिरांक का सामना करना पड़ा है जहां enum
इसके बजाए उपयोग किया जा सकता था। java.awt.BasicStrokeजावा लाइब्रेरी एनम्स से अधिक स्थिर इन्ट्स का उपयोग क्यों करते हैं?
से:: इस तरह के उदाहरण है कि मैं इस पल घूर जा करने के लिए होता है एक बार
public final static int CAP_BUTT = 0;
public final static int CAP_ROUND = 1;
public final static int CAP_SQUARE = 2;
वास्तव में, मुझे नहीं लगता कि मैं कभी भी एक enum देखा है एक मानक जावा एपीआई कक्षा में प्रयोग किया जाता है। ऐसा क्यों है?
मैं अपने स्वयं के एप्लिकेशन के लिए एक एपीआई डिजाइन कर रहा हूं (जावा एपीआई से लगभग एक बिलियन गुना छोटा है, लेकिन मैं अभी भी इसके बारे में स्मार्ट होने की कोशिश कर रहा हूं), और यह तय करने की कोशिश कर रहा हूं कि निरंतर स्याही या enums का उपयोग करना है या नहीं। THIS पोस्ट संदर्भ एक बहुत ही लोकप्रिय पुस्तक है जिसे मैंने अभी तक नहीं पढ़ा है जिसका अर्थ है कि enums के कई फायदे हैं। उसी धागे में सबसे अधिक उच्च स्कोर किए गए उत्तर सहमत हैं। तो जावा अपनी खुद की enum क्षमताओं का उपयोग क्यों नहीं करता है?
एक अनुमान पोस्टिंग के ठीक बाद मेरे दिमाग में बस आया। शायद 'enum' जावा में बहुत समय पहले उपलब्ध नहीं था जब इन सभी वर्गों को डिजाइन किया गया था? – The111
'बेसिकस्ट्रोक 'प्री-तिथियां' एनम 'जो जावा 1.5 में पहुंची थी। – Reimeus
शायद यह कोड है जो भाषा के समक्ष पहले लिखा गया था। चूंकि यह एक सार्वजनिक एपीआई है, इसे – James