JAVA中int与Integer有什么区别?

JAVA中为了编程的方便引入了基本数据类型,但是为了能够将这些基本数据类型当成对象操作,JAVA为每一个基本数据类型都引入了对应的包装类型(wrapper class)。Java为每个原始类型提供了封装类,Integer是java为int提供的封装类。int的默认值为0,而Integer的默认值为null。从JAVA 5 开始引入了自动装箱/拆箱机制,使得基本类型和封装类型可以互相转换。

JAVA为每个原始类型都提供了包装类型:

原始类型 boolean char byte short int long float double
包装类型 Boolean Character Byte Short Integer Long Float Double

public class AutoBoxingOrUnboxing {

	public static void main(String[] args) {
		Integer a=new Integer(2);
		Integer b=2;              //将2自动装箱成Integer类型
		int c=2;
		System.out.println(a==b); //false两个引用没有引用同一个对象
		System.out.println(a==c); //true a自动拆箱成int类型再和c比较
	}

}


你可能感兴趣的:(JAVA)