One of the restrictions with Java Generics is that they must be instantiated with a reference type. This means you cannot use a primitive type such as int, char or double. Instead, we must use its corresponding non-primitive type (eg. Integer, Character, Double).
Luckily, Java automatically converts a primitive type to its corresponding reference type; this is known as autoboxing..
So for example, when we place an item into our container of primitive type, such as the number 50, converts it an equivalent refernece type.
Thus we have
int morphing into
intContainer.add(50); // is actually doing this... intContainer.add(new Integer(50));
In contrast, auto-unboxing occurs when retrieving that same item from our collection.
// from Integer to int int i = intContainer.getData();
In this completely revised second edition of the perennial best seller How Linux Works, author Brian Ward makes the concepts behind Linux internals accessible to anyone curious about the inner workings of the operating system. Inside, you'll find the kind of knowledge that normally comes from years of experience doing things the hard way.$ Check price
Are you looking for a deeper understanding of the Java so that you can write code that is clearer, more correct, more robust, and more reusable? Look no further! Effective Java brings together seventy-eight indispensable programmer's rules of thumb: working, best-practice solutions for the programming challenges you encounter every day.$ Check price