【Java】Integer与int区别(包装类型和基本数据类型的区别)

Integer与int区别(包装类型和基本数据类型的区别)

(1)默认值:

int的默认值是0;

Integer的默认值为null;

推论:Integer既可以表示null,又可以表示0.

(2)包装类中提供了该类型相关的很多算法操作方法,我们只管调用即可。
如Integer类:

static String toBinaryString(int i) :把十进制转换为二进制
static String toOctalString(int i) : :把十进制转换为八进制
static String toHexString(int i) : :把十进制转换为十六进制
	Integer num = 12;
	String binaryStr = Integer.toBinaryString(num); //2进制
	String octalStr = Integer.toOctalString(num); // 8进制
	String hexString = Integer.toHexString(num); // 16进制
	System.out.println("2进制:" + binaryStr);
	System.out.println("8进制:" + octalStr);
	System.out.println("16进制:" + hexString);

(3) 在集合框架中,只能存储对象类型,不能存储基本数据类型值.

(4)Integer和int为不同数据类型,证明:
在同一个类中,我们定义:

	public void ooxx(int num){}
	public void ooxx(Integer num){}

编译通过,说明ooxx进行了重载,进而表明int与Integer是两种不同的数据类型。

但是,在实际调用时,究竟是用哪一个?

class CacheDemo 
{
	public void ooxx(int num){
		System.out.println("int");
	}
	public void ooxx(Integer num){
		System.out.println("Integer");
	}
	public static void main(String[] args) 
	{	
		CacheDemo c = new CacheDemo();
		int intNum = 12;
		Integer integerNum = 12;
		c.ooxx(intNum); // 调用int类型的方法
		c.ooxx(integerNum); // 调用Integer类型的方法
	}
}

---------- 运行java ----------
int
Integer

输出完成 (耗时 0) - 正常终止

传入基本数据类型,就调用形参为基本数据类型的方法;
传入包装数据类型,就调用形参为包装数据类型的方法,

基本数据类型可以调用仅存在形参为包装数据类型的方法;

class CacheDemo 
{
	public void ooxx(Integer num){
		System.out.println("Integer");	
	}

	public static void main(String[] args) 
		{	
		CacheDemo c = new CacheDemo();
		int intNum = 12;
		c.ooxx(intNum);
	}
}
---------- 运行java ----------
Integer

输出完成 (耗时 0) - 正常终止

包装数据类型可以调用仅存在形参为基本数据类型的方法;

class CacheDemo 
{
	public void ooxx(int num){
		System.out.println("int");
	}

	public static void main(String[] args) 
	{	
		CacheDemo c = new CacheDemo();
		Integer integerNum = 12;
		c.ooxx(integerNum);
	}
}
---------- 运行java ----------
int

输出完成 (耗时 0) - 正常终止

但是在实际开发中,定义两个这样的方法,没有任何实际意义。

(5) 方法中的基本类型变量存储在栈中,而包装类型存放于堆中。

开发中,建议使用包装类型,但是基本数据类型的性能更高

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值