Introduction
Java
is an object-oriented language and can view everything as an object. A simple
file can be treated as an object (with java.io.File), an address of a
system can be seen as an object (with java.util.URL), an image can be
treated as an object (with java.awt.Image) and a simple data type can be
converted into an object (with wrapper classes). This tutorial discusses
wrapper classes. Wrapper classes are used to convert any data type into
an object.
The
primitive data types are not objects; they do not belong to any class; they are
defined in the language itself. Sometimes, it is required to convert data types
into objects in Java language. For example, upto JDK1.4, the data structures
accept only objects to store. A data type is to be converted into an object and
then added to a Stack or Vector etc. For this conversion, the designers
introduced wrapper classes.
What are Wrapper
classes?
As
the name says, a wrapper class wraps (encloses) around a data type and gives it
an object appearance. Wherever, the data type is required as an object, this
object can be used. Wrapper classes include methods to unwrap the object and
give back the data type. It can be compared with a chocolate. The manufacturer
wraps the chocolate with some foil or paper to prevent from pollution. The user
takes the chocolate, removes and throws the wrapper and eats it.
Observe the following
conversion.
int k = 100;
Integer it1 = new Integer(k);
Integer it1 = new Integer(k);
The
int data type k is converted into an object, it1 using Integer
class. The it1 object can be used in Java programming wherever k
is required an object.
The
following code can be used to unwrap (getting back int from Integer
object) the object it1.
int
m = it1.intValue();
System.out.println(m*m); // prints 10000 -
System.out.println(m*m); // prints 10000 -
intValue() is a method of Integer class
that returns an int data type.
List
of Wrapper classes
In
the above code, Integer class is known as a wrapper class (because it
wraps around int data type to give it an impression of object). To wrap (or to
convert) each primitive data type, there comes a wrapper class. Eight wrapper
classes exist in java.lang package that represent 8 data types.
Following list gives.
Following is the hierarchy of the above classes. –
All
the 8 wrapper classes are placed in java.lang package so that they are
implicitly imported and made available to the programmer. As you can observe in
the above hierarchy, the super class of all numeric wrapper classes is Number
and the super class for Character and Boolean is Object. All the
wrapper classes are defined as final and thus designers prevented them
from inheritance.
Importance
of Wrapper classes
There
are mainly two uses with wrapper classes.
1.
To
convert simple data types into objects, that is, to give object form to a data
type; here constructors are used.
2.
To
convert strings into data types (known as parsing operations), here methods of
type parseXXX() are used.
The
following program expresses the style of converting data type into an object
and at the same time retrieving the data type from the object.
No comments:
Post a Comment