Java – Wrapper Class vs Primitive Class

Each of Java’s eight primitive data types has a class dedicated to it. These are known as wrapper classes because they “wrap” the primitive data type into an object of that class. The wrapper classes are part of the java.lang package, which is imported by default into all Java programs.

The wrapper classes in java servers two primary purposes.
• To provide a mechanism to ‘wrap’ primitive values in an object so that primitives can do activities reserved for the objects like being added to ArrayList, Hashset, HashMap etc. collection.
• To provide an assortment of utility functions for primitives like converting primitive types to and from string objects, converting to various bases like binary, octal or hexadecimal, or comparing various objects.

The following two statements illustrate the difference between a primitive data type and an object of a wrapper class:
int x = 25;
Integer y = new Integer(33);

The first statement declares an int variable named x and initializes it with the value 25. The second statement instantiates an Integer object. The object is initialized with the value 33 and a reference to the object is assigned to the object variable y.

wrapper

wrapper classes is as follows-

Primitive- boolean
byte
char
int
float
double
long
short

Wrapper Class- Boolean
Byte
Character
Integer
Float
Double
Long
Short

Constructor Argument- boolean or String
byte or String
char
int or String
float, double or String
double or String
long or String
short or String

Please note we might get NumberFormatException if we try to assign invalid argument in the constructor. For example to create Integer object we can have the following syntax.

Integer intObj = new Integer (25);
Integer intObj2 = new Integer (“25”);

Here in we can provide any number as string argument but not the words etc. Below statement will throw run time exception (NumberFormatException)

Integer intObj3 = new Integer (“Two”);

The following discussion focuses on the Integer wrapperclass, but applies in a general sense to all eight wrapper classes.

The most common methods of the Integer wrapper class are summarized in below table. Similar methods for the other wrapper classes are found in the Java API documentation.

parseInt(s): returns a signed decimal integer value equivalent to string s

toString(i): returns a new String object representing the integer i

byteValue(): returns the value of this Integer as a byte

doubleValue(): returns the value of this Integer as a double

floatValue(): returns the value of this Integer as a float

intValue(): returns the value of this Integer as an int

shortValue(): returns the value of this Integer as a short

longValue(): returns the value of this Integer as a long

int compareTo(int i): Compares the numerical value of the invoking object with that of i. Returns 0 if the values are equal. Returns a negative value if the invoking object has a lower value. Returns a positive value if the invoking object has a greater value.

static int compare(int num1, int num2): Compares the values of num1 and num2. Returns 0 if the values are equal. Returns a negative value if num1 is less than num2. Returns a positive value if num1 is greater than num2.

boolean equals(Object intObj): Returns true if the invoking Integer object is equivalent to intObj. Otherwise, it returns false.

 

Regards

Anand Pandey

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s