Mostly a wrapper class promotes primitive types to a class, so that methods could be performed, or added into hashmaps etc. You can't do this. int a = 6; a.toString(); You can do this. Integer a = 6; a.toString();