जाहिर है, जावा अनुक्रमित संख्या प्रकारों को मूल रूप से, and that's not going to change soon (2002 में शुरू होने वाली टिप्पणियों) का समर्थन नहीं करता है। हालांकि, डेटाबेस के साथ काम करते समय, जैसे कि MySQL, वे हर समय और फिर काम में आ सकते हैं। हस्ताक्षर किए गए नंबरों को अनुकरण करने के तरीके से निपटने के बहुत सारे प्रश्न हैं। उदाहरण के लिए:क्या हस्ताक्षर किए गए नंबर प्रकार रैपर के लिए जावा लाइब्रेरी है?
वे सब के सब अल्पज्ञता का वर्णन यह कैसे किया जा सकता है। लेकिन क्या वास्तव में कोई पुस्तकालय सभी तरह से जा रहा है और UByte
, UShort
, UInteger
, ULong
के लिए उपयुक्त रैपर लागू कर रहा है? अधिमानतः, उन रैपर java.lang.Number
का विस्तार करेंगे और java.math.BigInteger
के समान अंकगणितीय API प्रदान करेंगे।
जैसा कि this document में देखा जा सकता है, वहां बहुत कुछ सोचने के लिए बहुत कुछ है, और बहुत कुछ गलत हो सकता है (उदाहरण के लिए बिटवॉफ्ट शिफ्ट, कैसे गुणा करना है, आदि), इसलिए मैं इसे स्वयं नहीं करना चाहता हूं। साथ ही, मैं केवल अगले उच्च प्रकार (उदाहरण के लिए Short
Byte
इत्यादि के बजाय उपयोग नहीं करना चाहता)। उदाहरण के लिए, मुझे डेटाबेस के साथ सर्वोत्तम बातचीत के लिए 8-bit
, 16-bit
, 32-bit
, 64-bit
नंबर की संरक्षितता की धारणा चाहिए।
अद्यतन:
इससे पहले कि आप का जवाब! इस बात पर विचार करें कि मैं सभी कामकाजों को जानता हूं, लेकिन मैं वास्तव में वास्तव में उन उपरोक्त गुणों के साथ वास्तव में उन 4 प्रकारों को देखना चाहता हूं। और शायद किसी ने पहले ही ऐसा कर लिया है, इसलिए मैं पूछता हूं। कामकाज की याद दिलाने की कोई ज़रूरत नहीं है।
हस्ताक्षर किए गए हस्ताक्षर किए गए भूमि को चलाने के लिए थोड़ा झुकाव की सभी चेतावनी, "संख्याओं की तरह काम करने वाली संख्या" आमतौर पर मुझे दूर करने के लिए पर्याप्त नहीं होगी। कुछ क्षेत्र जावा अभी याद किए गए थे, यह उनमें से एक है। –
@pst: मुझे वही लगता है। ज्यादातर मामलों में मैं भी दूर हो गया हूँ। लेकिन इस मामले में, ऐसी पुस्तकालय वास्तव में एक इलाज होगा। –
कुछ समय पहले मैंने [javolution] (http://javolution.org/target/site/apidocs/javolution/io/Struct.html) स्ट्रक्चर क्लास के साथ लाइब्रेरी से मुलाकात की जिसमें 8-, 16-, 32-बिट के कार्यान्वयन शामिल थे। – 87element