In object oriented programming, a wrapper class is a class that encapsulates types, so that those types can be used to create object instances and methods in another class that need those types. So a primitive wrapper class is a wrapper class that encapsulates, hides or wraps data types from the eight primitive data types, so that these can be used to create instantiated objects with methods in another class or in other classes. The primitive wrapper classes are found in the Java API.
Contents
Primitive wrapper classes are used to create an Object
that needs to represent primitive types in Collection
classes (i.e., in the Java API), in the java.util
package and in the java.lang.reflect
reflection package. Collection classes are Java API defined classes that can store objects in a manner similar to how data structures like arrays store primitive data types like, int, double, long or char, etc., But arrays store primitive data types while collections actually store objects.
The primitive wrapper classes and their corresponding primitive types are:
The Byte
, Short
, Integer
, Long
, Float
, and Double
wrapper classes are all subclasses of the Number
class.
The wrapper classes BigDecimal
and BigInteger
are not one of the primitive wrapper classes but are immutable.
The Wrapper Class Void
The wrapper class named Void is not a primitive wrapper class, specifically because void is not a primitive data type. However the Void wrapper class can be used to create new objects that have methods that are not expected to return a value.
Although it is a wrapper class, the Void
class provides an object representation of the void
return.
Atomic wrapper classes
With Java 5.0, additional wrapper classes were introduced in the java.util.concurrent.atomic
package. These classes are mutable and cannot be used as a replacement for the regular wrapper classes. Instead, they provide atomic operations for addition, increment and assignment.
The atomic wrapper classes and their corresponding types are:
The AtomicInteger
and AtomicLong
classes are subclasses of the Number
class. The AtomicReference
class accepts the type parameter V
that specifies the type of the object reference. (See "Generics in Java" for a description of type parameters in Java). V