int is a primitive type, Variables of int type store the actual binary value for the Integer type you want to represent.
Integer is a class, no diffeeent from any other in the java language. Variables of type Integer store the references to Integer Objects.
Note that every primiry type has wrapper class:
byte has Byte
long has Long
boolean has Boolean
float has Float
double has Double
Wrapper class inherit from Object class, and primitive don't. So you can be used in collections with Object reference.
1. Integer与Integer的比较
public static void compare() { Integer i = new Integer(100); Integer i2 = new Integer(100); System.out.println( i == i2); //false
}
2. int与Integer的比较
public static void compareIntWithInteger() { Integer i = new Integer(100); int i2 = 100; System.out.println( i == i2); //true }