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);

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java基本数据类型包装类是Java中用来表示数据的两种不同方式。 1. 基本数据类型(Primitive Data Types): - Java基本数据类型有8种:byte、short、int、long、float、double、char和boolean。 - 这些基本数据类型直接存储着数据的值,它们是直接操作内存的,因此效率较高。 - 基本数据类型不具有任何方法,不能调用任何方法。 2. 包装类(Wrapper Classes): - 包装类是用来将基本数据类型包装起来,以便能够以对象的形式使用。 - Java提供了对应于每种基本数据类型包装类:Byte、Short、Integer、Long、Float、Double、Character和Boolean。 - 包装类提供了许多有用的方法,可以进行类型转换、比较、运算等操作。 - 包装类是不可变的(immutable),即一旦创建就无法修改其值。 区别: - 基本数据类型是直接存储数据的值,而包装类是将基本数据类型包装成对象。 - 基本数据类型效率较高,而包装类的效率较低,因为需要进行对象的创建和销毁操作。 - 基本数据类型不能调用任何方法,而包装类提供了许多有用的方法。 - 包装类可以用于泛型、集合类等需要对象作为参数的场景,而基本数据类型则不能直接使用。 - 基本数据类型在内存中占据的空间大小是固定的,而包装类的内存消耗较大,因为需要额外存储一些信息。 总的来说,基本数据类型适合用于简单的数据操作,而包装类适合用于需要更多功能和灵活性的场景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值