[Clearly explained] int Vs Integer

int(primitive data type) and Integer (wrapper class object):

1. It is not possible to assign null (no value) to int. But the same possible in Integer.
Eg:

[java]Integer a = null; // Possible
int ab = null; //Not Possible[/java]

 

2. In collections we can able to use Integer for HashMap (key) or vector(Integer) or ArrayList(Integer), int cannot be used in collections.
Eg:

[java]List<Integer> myList = new ArrayList<Integer>(); //Possible
List<int> myList = new ArrayList<int>(); // Not possible

HashMap<Integer,String> myMap = new HashMap<Integer, String>(); //Possible
HashMap<int,String> myMapInt = new HashMap<int, String>(); // Not possible

Vector<Integer> myVector = new Vector<Integer>(); //Possible
Vector<int> myVectorInt = new Vector<int>(); //Not possible[/java]

 

3. If we want to use methods like toString(), doubleValue(), byteValue(),floatValue(), longValue(), shortValue() etc…, then we must have Integer(wrapper) not int (primitive).

Eg:

[java]Integer firstVariableNewInteger = new Integer(10);
Integer secondVariableNewInteger = new Integer(6).

System.out.println(firstVariableNewInteger .doubleValue()); //Possible

int firstVar = 10;
int secondVar = 6;</pre>
System.out.println(firstVar.doubleValue()); // Not possible [/java]

Leave a Reply