The difference between wrapper classes and primitive types
Primitive wrapper classes are not the same thing as primitive types. Whereas variables, for example, can be declared in Java as data types double, short, int, etc., the primitive wrapper classes create instantiated objects and methods that inherit but hide the primitive data types, not like variables that are assigned the data type values. Therefore, the term ''Primitive wrapper class'' does not mean that wrapper classes are primitive types. It should be understood to be a class that wraps primitive types. Wrapper classes can be used to store the same value as of a primitive type variable but the instances/objects of wrapper classes themselves are ''Non-Primitive''. We cannot say that Wrapper classes themselves are Primitive types. They just wrap the primitive types. TheByte
, Short
, Integer
, Long
, Float
, and Double
wrapper classes are all subclasses of the class.
The wrapper classes BigDecimal
and BigInteger
are not one of the primitive wrapper classes but are immutable.
Atomic wrapper classes
With Java 5.0, additional wrapper classes were introduced in the 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: : TheAtomicInteger
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
See also
* java.lang * java.lang.reflect * Java programming language * Java syntax * Java compilerReferences
{{Reflist Java (programming language)