java基本数据类型和它的包装类区别
基本数据类型
Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。
包装类型
将基本类型包装成对象,可以让基本类型有对象类的一些操作
区别
声明方式:基本类型不适用new关键字,而包装类可以使用new关键字在堆中分配内存。
初始化:基本数据类型可通过直接赋值来初始化,包装类可通过带参的构造函数,也可通过直接赋值初始化。
存储位置:基本数据类型直接将变量存储在堆栈中,包装类型将对象存储在堆中,将对象的引用存储在栈中。
int i=1;//局部变量直接在栈中分配空间 ,成员变量和类变量是在堆中分配空间
Integer i = new Integer(1);//对象是在堆内存中,而i(引用变量)是在栈内存中
初始值:基本数据类型比如整数默认初始值为0,boolean类型为false,char类型为‘\u0000’…包装类的默认初始值都为null
使用场景:基本数据类型常用于局部变量,包装类:集合容器存储对象不能存放基本类型,但是可以存包装类,简单实体类的属性必须使用包装类
联系
基本数据类型和包装类型可以相互转换
装箱:由基本类型向对应的包装类转换
拆箱:包装类向对应的基本类型转换
Java 1.5(5.0) 之前必须手动拆箱装箱,Java 1.5 之后可以自动拆箱装箱
自动装箱:Integer i = 3;// 自动装箱时编译器调用valueOf将基本类型值转换成对象
自动拆箱:int i2 = i;//自动拆箱时编译器调用intvalue将对象转换成基本类型值
扩展
基本类型转换为字符串
int i = 1;
使用包装类的 toString() 方法
String str1 = Integer.toString(i);
使用String类的 valueOf() 方法
String str2 = String.valueOf(i);
用一个空字符串加上基本类型,得到的就是基本类型数据对应的字符串
String str3 = i+ "";
将字符串转换为基本类型
String str = "1";
调用包装类的 parseXxx 静态方法。
int a = Integer.parseInt(str);
调用包装类的 valueOf() 方法转换为基本类型的包装类,会自动拆箱。
int b = Integer.valueof(str);
本文地址:https://blog.csdn.net/weixin_44268113/article/details/109265229
上一篇: Java SE常问
下一篇: 按奇偶排序数组 II JAVA
推荐阅读
-
Java基本数据类型“==”和引用数据类型“==”的区别
-
Java中构造方法、空指针异常现象、基本数据类型和引用数据类型作为参数传递的区别
-
java基础之基本数据类型对象包装类,StringBuffer
-
java基础之基本数据类型对象包装类,StringBuffer
-
12.JAVA-基本数据类型的包装类操作
-
基本数据类型和包装类的区别
-
java基本数据类型和它的包装类区别
-
Java中包装类与基本类型运算的性能比较(Integer i += 1)
-
java常用类的使用、String类、StringBuffer类、正则表达式、基本数据类型的包装类、Object类、Math类
-
基本数据类型和包装类之间的转换