All the methods of Number based wrapper classes
Wrapper classes allow primitive values to be used as objects.
| Primitive | Wrapper |
|---|---|
int |
Integer |
double |
Double |
float |
Float |
long |
Long |
short |
Short |
byte |
Byte |
char |
Character |
boolean |
Boolean |
Integer,Double,Float,Long,Short, andByteextendNumber.CharacterandBooleando not.
1. Methods from Number
These methods convert a wrapper value into different primitive types.
Integer num = 100;
System.out.println(num.byteValue()); // 100
System.out.println(num.shortValue()); // 100
System.out.println(num.intValue()); // 100
System.out.println(num.longValue()); // 100
System.out.println(num.floatValue()); // 100.0
System.out.println(num.doubleValue()); // 100.0
Easy idea
xxxValue()→ converts the wrapper into that primitive type.
2. Integer Methods
parseInt()
Converts a String into a primitive int.
int num = Integer.parseInt("123");
System.out.println(num);
Output:
123
With a radix:
int num = Integer.parseInt("1010", 2);
System.out.println(num); // 10
valueOf()
Converts a value into an Integer object.
Integer a = Integer.valueOf("100");
Integer b = Integer.valueOf(100);
toString()
Converts an int into a String.
String s = Integer.toString(100);
System.out.println(s);
Number System Conversion
System.out.println(Integer.toBinaryString(10)); // 1010
System.out.println(Integer.toHexString(10)); // a
System.out.println(Integer.toOctalString(10)); // 12
compare()
Compares two integers.
System.out.println(Integer.compare(10, 20)); // -1
System.out.println(Integer.compare(20, 10)); // 1
System.out.println(Integer.compare(10, 10)); // 0
Meaning:
-1 → first is smaller
0 → equal
1 → first is larger
max(), min(), sum()
System.out.println(Integer.max(10, 20)); // 20
System.out.println(Integer.min(10, 20)); // 10
System.out.println(Integer.sum(10, 20)); // 30
bitCount()
Counts the number of 1 bits.
System.out.println(Integer.bitCount(7));
Binary:
7 = 111
Output:
3
signum()
Returns the sign of a number.
System.out.println(Integer.signum(10)); // 1
System.out.println(Integer.signum(0)); // 0
System.out.println(Integer.signum(-10)); // -1
reverse()
Reverses the bits of an integer.
int result = Integer.reverse(10);
System.out.println(result);
This is mainly useful for bit manipulation.
reverseBytes()
Reverses the bytes of an integer.
int result = Integer.reverseBytes(10);
System.out.println(result);
Mostly useful for low-level/bit operations.
highestOneBit() and lowestOneBit()
System.out.println(Integer.highestOneBit(10)); // 8
System.out.println(Integer.lowestOneBit(10)); // 2
Because:
10 = 1010
↑ ↑
8 2
rotateLeft() / rotateRight()
Rotates the bits left or right.
int result = Integer.rotateLeft(10, 2);
Mostly used in bit manipulation and algorithms.
3. Integer Instance Methods
Integer a = 100;
Integer b = 200;
compareTo()
System.out.println(a.compareTo(b)); // -1
equals()
Checks whether two wrapper objects have the same value.
System.out.println(a.equals(b)); // false
hashCode()
Returns the hash code.
System.out.println(a.hashCode());
toString()
System.out.println(a.toString()); // 100
4. Double and Float
Their basic methods are similar to Integer.
parseDouble() / parseFloat()
double d = Double.parseDouble("10.5");
float f = Float.parseFloat("5.5");
System.out.println(d); // 10.5
System.out.println(f); // 5.5
valueOf()
Double d = Double.valueOf("10.5");
Float f = Float.valueOf("5.5");
toString()
String d = Double.toString(10.5);
String f = Float.toString(5.5f);
compare()
System.out.println(Double.compare(10.5, 20.5)); // -1
isNaN()
Checks whether a value is Not a Number.
System.out.println(Double.isNaN(0.0 / 0.0));
Output:
true
isInfinite()
Checks whether a value is positive or negative infinity.
double x = 1.0 / 0.0;
System.out.println(Double.isInfinite(x)); // true
max(), min(), sum()
System.out.println(Double.max(10.5, 20.5)); // 20.5
System.out.println(Double.min(10.5, 20.5)); // 10.5
System.out.println(Double.sum(10.5, 20.5)); // 31.0
5. Autoboxing and Unboxing
Java can automatically convert between primitives and wrapper objects.
Autoboxing
Primitive → Wrapper
int x = 10;
Integer num = x;
Unboxing
Wrapper → Primitive
Integer num = 10;
int x = num;
You don't need to manually call valueOf() or intValue() in these cases.
Quick Revision
| Method | Example | Purpose |
|---|---|---|
parseInt() |
Integer.parseInt("10") |
String → int |
valueOf() |
Integer.valueOf(10) |
Creates wrapper |
toString() |
Integer.toString(10) |
Number → String |
compare() |
Integer.compare(10, 20) |
Compare numbers |
max() |
Integer.max(10, 20) |
Larger value |
min() |
Integer.min(10, 20) |
Smaller value |
sum() |
Integer.sum(10, 20) |
Add numbers |
bitCount() |
Integer.bitCount(7) |
Count 1 bits |
signum() |
Integer.signum(-5) |
Get -1, 0, or 1 |
isNaN() |
Double.isNaN(x) |
Check NaN |
isInfinite() |
Double.isInfinite(x) |
Check infinity |
xxxValue() |
num.doubleValue() |
Convert to primitive |
compareTo() |
a.compareTo(b) |
Compare objects |
equals() |
a.equals(b) |
Compare values |
Most important for DSA
Focus first on:
Integer.parseInt()
Integer.valueOf()
Integer.toString()
Integer.compare()
Integer.max()
Integer.min()
Integer.bitCount()
And remember:
Wrapper class = primitive value + useful methods + ability to work as an object.