की अनुमति देता है blog
1. सबसे पहले
डबल एक संदर्भ प्रकार है ताकि आप इसे टेम्पलेट तर्क के रूप में उपयोग कर सकें ument
उदाहरण के लिए:
public class Tmp<T> {
public Tmp() {
}
}
आप उस तरह एक वर्ग बनाना चाहते हैं।
तब आपको ऑब्जेक्ट बनाने के दौरान संदर्भ प्रकार पास करना होगा। उदाहरण के लिए
new Tmp<Integer>()
आपको एक त्रुटि अगर आप की तरह वस्तु बनाने के मिल जाएगा:
new Tmp<int>()
2. दूसरा
केवल आवरण वर्गों में से है क्योंकि यह सामान्य डेटाप्रकार प्रोग्रामिंग के लिए संभव है ।
उदाहरण के लिए बेलो विधि किसी भी प्रकार की संख्या (Byte, Integer, Double, Short, Float, Long, BigDecimal, BigInteger, AtomicInteger, AtomicLong
) स्वीकार करती है और Integer
उस संख्या के अतिरिक्त लौटाती है।
public Integer add(Number a, Number b){
return a.intValue() + b.intValue();
}
3. तीसरा
जावा के पुराने संस्करण में autoboxing और AutoUnboxing का समर्थन नहीं कर रहा है। तो, यदि आप जावा के उस संस्करण का उपयोग करते हैं तो आप दोनों को आसानी से अंतर कर सकते हैं।
उदाहरण के लिए आप जावा 1.4 या तो पुराने संस्करण का उपयोग करता है, तो:
Integer a = 1; // Auto Boxing(Not Works)
Integer a2 = new Integer(2); // Boxing (It Works)
4. चौथा
दोनों का भंडारण भी अलग आदिम प्रकार Stack
में जमा हो जाती है, जबकि संदर्भ प्रकार में दुकान कर रहे हैं Heap
5. पांचवें
आप उस वर्ग की कार्यक्षमता का उपयोग कर सकते हैं जैसे पार्सिंग स्ट्रिंग को इंटेगर, डबल इत्यादि में और इसके सहमति का उपयोग करें।
यहाँ कार्य करता है और Integer
वर्ग
6. के लिए सहमति हैं छठी
आप Integer
को क्रमानुसार सकता है, जबकि इसके साथ int
7. सातवीं संभव नहीं है
आप एक RMI पद्धति के रूप में Integer
पारित कर सकते हैं, लेकिन एक ही साथ int
नोट संभव नहीं है: Integer
वर्ग वे int
में मूल्य की दुकान के अंदर वास्तव में RMI बहस में किसी अन्य वस्तु का हिस्सा दोनों Integer
और int
हो सकता है।
8. आठवीं
int
की चर परिवर्तनशील है (यह final int
के साथ ऐसा नहीं है), जबकि Integer
अपरिवर्तनीय है। जब हम मूल्य बदलते हैं तो यह नई वस्तु पैदा करेगा।
उम्मीद है कि फ्लोट पर '==' तुलना केवल एक उदाहरण है :) http://stackoverflow.com/questions/1088216/whats-wrong-with-using-to-compare-floats-in-java – jensgram