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.