欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java基本数据类型和它的包装类区别

程序员文章站 2022-04-15 18:57:59
变量就是申请内存来存储值。内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据,因此,通过定义不同类型的变量,可以在内存中储存整数、小数或者字符。基本数据类型  Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。   包装类型  将基本类型包装成对象,可以让基本类型有对象类的一些操作    区别声明方式:基本类型不适用new关键字,而包装类可以使用new关键字在堆中分配内存。初始化:基本数据类型可通....

基本数据类型

  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