I was reading More Joel on Software when I came across Joel Spolsky saying something about a particular type of programmer knowing the difference between an i
int is used to declare primitive variable
e.g. int i=10;
Integer is used to create reference variable of class Integer
Integer a = new Integer();
There are many reasons to use wrapper classes: