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, and Byte extend Number. Character and Boolean do 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.