Normally, when we work with Numbers, we use primitive data types such as byte, int, long, double etc.
Example:
int i = 5000; float gpa = 13.65; byte mask = 0xaf; |
However in development we come across situations were we need to use objects instead of primitive data types. In-order to achieve this Java provides wrapper classes for each primitive data type.
All the wrapper classes ( Integer, Long, Byte, Double, Float, Short) are subclasses of the abstract class Number.
This wrapping is taken care of by the compiler The process is called boxing. So when a primitive is used when an object is required the compiler boxes the primitive type in its wrapper class. Similarly the compiler unboxes the object to a primitive as well. The Number is part of the java.lang package.
Here 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 a int
System.out.println(x);
}
}
|
This would produce following result:
15 |
When x is assigned integer values, the compiler boxes the integer because x is integer objects. Later, x is unboxed so that they can be added as integers.
Number Methods:
Here is the list of the instance methods that all the subclasses of the Number class implement:
| SN | Methods with Description |
|---|---|
| 1 | xxxValue() Converts the value of this Number object to the xxx data type and returned it. |
| 2 | compareTo() Compares this Number object to the argument. |
| 3 | equals() Determines whether this number object is equal to the argument. |
| 4 | valueOf() Returns an Integer object holding the value of the specified primitive. |
| 5 | toString() Returns a String object representing the value of specified int or Integer. |
| 6 | parseInt() This method is used to get the primitive data type of a certain String. |
| 7 | abs() Returns the absolute value of the argument. |
| 8 | ceil() Returns the smallest integer that is greater than or equal to the argument. Returned as a double. |
| 9 | floor() Returns the largest integer that is less than or equal to the argument. Returned as a double. |
| 10 | rint() Returns the integer that is closest in value to the argument. Returned as a double. |
| 11 | round() Returns the closest long or int, as indicated by the method's return type, to the argument. |
| 12 | min() Returns the smaller of the two arguments. |
| 13 | max() Returns the larger of the two arguments. |
| 14 | exp() Returns the base of the natural logarithms, e, to the power of the argument. |
| 15 | log() Returns the natural logarithm of the argument. |
| 16 | pow() Returns the value of the first argument raised to the power of the second argument. |
| 17 | sqrt() Returns the square root of the argument. |
| 18 | sin() Returns the sine of the specified double value. |
| 19 | cos() Returns the cosine of the specified double value. |
| 20 | tan() Returns the tangent of the specified double value. |
| 21 | asin() Returns the arcsine of the specified double value. |
| 22 | acos() Returns the arccosine of the specified double value. |
| 23 | atan() Returns the arctangent of the specified double value. |
| 24 | atan2() Converts rectangular coordinates (x, y) to polar coordinate (r, theta) and returns theta. |
| 25 | toDegrees() Converts the argument to degrees |
| 26 | toRadians() Converts the argument to radians. |
| 27 | random() Returns a random number. |
No comments:
Post a Comment