Number Class
Normally, when we work with numbers, we use primitive data types such as byte
, int
, long
, double
, etc.:
int i = 5000;
float gpa = 13.65;
double mask = 0xaf;
|
|
|
However, in development, we come across situations where we need to use objects instead of primitive data types.
In order to achieve this, Java provides wrapper classes.
All the wrapper classes (Integer
, Long
, Byte
, Double
, Float
, Short
) are subclasses of the abstract class Number
, which is part of the java.lang
package.
The object of the wrapper class contains or wraps its respective primitive data type.
- Boxing:
It converts a primitive data type into an object, and it is taken care by the compiler.
Therefore, while using a wrapper class you just need to pass the value of the primitive data type to the constructor of the wrapper class.
- Unboxing:
It converts the wrapper object back to a primitive data type.
The following is an example of boxing and unboxing:
public class Test {
public static void main( String args[ ] ) {
Integer x = 5; // Boxes int to an Integer object.
x = x + 10; // Unboxes the Integer to an int.
System.out.println( x ); // Output: 15
}
}
|
When
x
is assigned an integer value, the compiler boxes the integer because
x
is an Integer object.
Later,
x
is unboxed so that it can be added as an integer.
MyPrime.java (checking whether a number is prime)
|
|
|