आप एक पूर्णांक के रूप में अगर यह अहस्ताक्षरित थे आप कर सकते हैं करने के लिए
int i = ...
String s = String.format("%d", i & 0xFFFFFFFFL);
यह प्रभावी रूप से एक लंबे में हस्ताक्षर किए पूर्णांक बदल जाता है, लेकिन यह 0 से हो जाएगा .. 2^31-1
के इलाज के लिए चाहते हैं
रिवर्स आप
int i = (int) Long.parseLong(s);
String s2 = String.format("%d", i & 0xFFFFFFFFL);
कर सकते हैं और जैसा कि s
बशर्ते वह सीमा में है s2
ही होगा ऐसा करने के लिए।
बीटीडब्लू: सबसे आसान काम करने के लिए पहले स्थान पर long
का उपयोग करना हो सकता है। जब तक आप बना रहे हैं, तो इनमें से अतिरिक्त मेमोरी तुच्छ है और कोड सरल है।
स्रोत
2013-08-13 08:00:53
जावा में हस्ताक्षरित पूर्णांक नहीं हैं – Kevin
जावा 8 में हस्ताक्षर किए गए पूर्णांक हैं। – boring
AFAIK जावा 8 में असाइन किए गए प्रकारों के लिए सामान्य वर्कअराउंड के लिए एक एपीआई है। –