मैं दो इंच एक लंबे समय तक स्टोर करना चाहता हूं (हर बार एक नया Point
ऑब्जेक्ट बनाने के बजाय)।जावा लंबे समय में दो इन्स भंडारित करता है
वर्तमान में, मैंने यह कोशिश की। यह काम कर रहा है नहीं है, लेकिन मैं नहीं जानता कि क्या इसके साथ गलत है:
// x and y are ints
long l = x;
l = (l << 32) | y;
और मैं तो जैसे पूर्णांक मान हो रही है:
x = (int) l >> 32;
y = (int) l & 0xffffffff;
आह, यह समझ में आता है। मेरे पास एक सवाल यह है कि यदि आप लंबे 0xffffffffL या int 0xffffffff का उपयोग करते हुए बिटकमास्क करते हैं तो यह महत्वपूर्ण है या नहीं। – LanguagesNamedAfterCofee
@LanguagesNamedAfterCofee हाँ यह महत्वपूर्ण है, यदि आप '0xffffffff' (एल के बिना) के साथ मुखौटा करते हैं तो यह केवल एक int है, इसलिए' & 'एक नो-ऑप है और 'y' * अभी भी साइन विस्तारित हो जाता है *। – harold
ठीक है, स्पष्टीकरण के लिए धन्यवाद! – LanguagesNamedAfterCofee