Difference Between int and Integer in Java

In this post, we will learn the difference between int and Integer in Java. In layman’s terms, int is a primitive data type in Java, while Integer is a wrapper class which is a wrapper type that wraps the int type.

The int data type is a basic data type in Java that represents a 32-bit signed integer value, ranging from -2^31 to 2^31-1. It is a value type and can be directly manipulated by the CPU, which makes it faster than objects.

On the other hand, Integer is a class or wrapper data type that wraps the value of an int. It is part of the java.lang package. It provides a number of methods for working with int values. The common methods are converting to and from different data types. For example, converting Integers to Strings and many more.

The example code below shows how we can use int and Integer types in Java:

int id = 12;
Integer idObject = new Integer(x);

System.out.println("id: " + id);
System.out.println("idObject: " + idObject);

In the example above, x is an int value, and y is an Integer object that wraps the value of x. When we print the values, we can see that they are the same. The output of the above code will be:

id: 12
idObject: 12

The best practice is to use int when we need to store basic integer values. Use Integer when we need to store integer values as objects or when we need to use the methods provided by the Integer class.