To properly understand the difference, you should read an introductory textbook on Java. I will make a small stab at answering here.
Everything I say here applies analogously to char and Character, short and Short, long and Long, float and Float, double and Double.
An Integer, is a Object that contains a single int field. An Integer is much bulkier than an int. It is sort like a Fedex box to contain the int. Integers are immutable. If you want to affect the value of a Integer variable, the only way is to create a new Integer object and discard the old one.
| int vs Integer | ||
|---|---|---|
| ability | unboxed
int |
boxed
Integer |
| Calculate with it, + - * / % ^ etc. | ||
| Pass it as a parameter | ||
| return it as a value | ||
| Use methods on it from java.lang.Integer | ||
| Store it in a Vector or other Collection | ||
| Use it as a HashMap key | ||
| serialize it | ||
| send it by itself over RMI | ||
| send it as part of another Object over RMI | ||
| pass it as a generic object to a TableCellRenderer. You may pass a variety of different types via the same paramter. | ||
| Allow for a null value that means there is no value. | ||
// to int i from Integer ii int i = ii.intValue(); // to Integer ii from int i Integer ii = new Integer( i );See this Amanuensis for other conversions.
Starting with Java 1.5, with boxing and unboxing, the compiler will sometimes automatically do the conversions to and from int and Integer for you so you can treat int and Integer as if they were almost the same thing.
![]() |
and suggestions to improve this page to Roedy Green : | ||
| Canadian Mind Products | |||
| mindprod.com IP:[65.110.21.43] | |||
| Your face IP:[38.103.63.16] | The information on this page is for non-military use only. | ||
| You are visitor number 140,986. | Military use includes use by defence contractors. | ||
| You can get a fresh copy of this page from: | or possibly from your local J: drive (Java virtual drive/Mindprod website mirror) | ||
| http://mindprod.com/jgloss/intvsinteger.html | J:\mindprod\jgloss\intvsinteger.html | ||