In java.lang all Wrapper classes are immutable .
Chat with our AI personalities
It means that something can be changed after it is created. Immutable means that it can't be changed.
A wrapper class in the Java programming language is one of eight classes provided in the java.lang package to create objects for the eight primitive types. All of the primitive wrapper classes in Java are immutable. Wrapper classes are used to represent primitive values when an Object is required. The wrapper classes are used extensively with Collection classes in the java.util package and with the classes in the java.lang.reflect reflection package. The Wrapper classes are: 1. Byte 2. Short 3. Integer 4. Long 5. Float 6. Double 7. Character 8. Boolean The Byte, Short, Integer, Long, Float and Double are all subclasses of the Number class. If you notice, the names of these wrapper classes are just the same as their primitive data type with a capitalized first letter. These wrapper classes start with a upper case alphabet while their primitive counterparts start with a lowercase alphabet.
Wrapper classes are classes that are used to make primitive variables into objects, and to make wrapped objects into primitives. int, boolean, double are all primitive data types and their respective wrapper classes are Integer, Boolean, and Double. Wrapper classes are useful in storing primitive data types in higher level data structures such as Stack<Object>, List<Object>, Queue<Object>, since primitives cannot be directly placed in these data structures they must be boxed in the wrapper classes. But, here's the good news, with the new Java 5.0, there is no need no worry about wrapper classes and boxing and unboxing (unless it's something taught in class), since there is auto-boxing and unboxing, therefore, one can directly "add" primitives to a data structure and let the JVM do the rest.
It is sometimes easier to deal with primitives as objects. Moreover most of the collection classes store objects and not primitive data types. And also the wrapper classes provide many utility methods also. Because of these resons we need wrapper classes. And since we create instances of these classes we can store them in any of the collection classes and pass them around as a collection. Also we can pass them around as method parameters where a method expects an objectIt is sometimes easier to deal with primitives as objects. Moreover most of the collection classes store objects and not primitive data types. And also the wrapper classes provide many utility methods also. Because of these resons we need wrapper classes. And since we create instances of these classes we can store them in any of the collection classes and pass them around as a collection. Also we can pass them around as method parameters where a method expects an object
When we need to store primitive datatypes(The data types we use in genera like:int,long,float etc)as objects, we use wrapper classes.Means in utility classes all the utility classes stores Objects.So when we need to store a primitive datatype,We make an object of that primitive data and store it. Say supposing there is a requirement to store only the object in an array A.The Primitive types cannot be stored in the same array as the array can accommodate only Objects here is where Wrapper Class come into picture.ie, we create wrapper for the primitive types.One such example is as below Ex:int i; Wrapper class for the primitive type(int) is created as below: Integer i = new Integer(); That's why we use Wrapper classes in Java