Java的包装类_包装的分类有哪四类「建议收藏」

Java的包装类_包装的分类有哪四类「建议收藏」一、包装类分类Java有八种基本数据类型:byte、short、int、long、float、double、boolean、charJava为其提供了8种对应的包装类:Byte、Short、I

一、包装类分类

Java有八种基本数据类型:byte、short、int、long、float、double、boolean、char

Java为其提供了8种对应的包装类:Byte、Short、Integer、Long、Float、Double、Boolean、Character

Integer num = new Integer(0);    //创建一个数值为0的Integer对象

二、使用包装类的原因

Java语言是面向对象的编程语言,而基本数据类型声明的变量并不是对象,为其提供包装类,增强了Java面向对象的性质。

而且,如果只有基本数据类型,使用时是很不方便的,比如,在集合类中,无法将int 、double等类型放进去的,因为集合的容器要求元素是Object类型。

此外,包装类还为基本类型添加了属性和方法,丰富了基本类型的操作。如当我们想知道int取值范围的最小值,我们需要通过运算,如下面所示,但是有了包装类,我们可以直接使用Integer.MAX_VALUE即可。

//求int的最大值
int max = 0;
int flag = 1;
for (int i=0; i<31; i++) {
	max += flag;
	flag = flag << 1;
}
System.out.println(max +"	"+ Integer.MAX_VALUE); //2147483647      2147483647

为什么要保留基本数据类型?

因为Java种创建的对象都是存储在堆里的,使用的时候需要通过栈中的引用,所以常用的基本数据类型,不需要使用new在堆上创建,而是直接在栈内存中存储不创建对象,就会比较高效。

三、包装类的自动拆装箱机

进行基本类型数据和包装类对象之间的互转时:

//创建包装类对象有两种方式:new关键字、valueOf()方法。
Integer num1 = new Integer(1);	//基本数据类型转为包装类
Integer integer = Integer.valueOf(10);//基本数据类型转为包装类
int num2 = num1.intValue();		//包装类型转为基本数据类型
System.out.println(num1 +"	"+ num2);

为了方便使用和性能优化,提供了自动拆装箱机制

//1、包装类中的自动装箱拆箱机制
Integer  num1 = 1;		//自动装箱
int num2 = num1;		//自动拆箱
System.out.println(num1 +"	"+ num2);

 Java的包装类_包装的分类有哪四类「建议收藏」

Java的包装类_包装的分类有哪四类「建议收藏」

new出来的对象是在堆中开辟了新地址,所以地址不相同,而根据源码分析valueOf创建的对象在-128~127时是有一个cache数组存储的,也就是我们常说的128陷阱.

今天的文章Java的包装类_包装的分类有哪四类「建议收藏」分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/74963.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注