博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java基本数据类型与包装类型的区别
阅读量:4094 次
发布时间:2019-05-25

本文共 1047 字,大约阅读时间需要 3 分钟。

Java基本类型

Java语言提供了八种基本类型。其中,六种数据类型(四个整数型,两个浮点型),一个字符类型,还有一个布尔类型

1. 整数:short, byte, int, long,初始值为0
2. 浮点型:float,double,初始值为0.0
3. 字符:char,初始值为空格,即’’ "。如果输出,在console上是看不到效果的
4. 布尔:boolean,初始值为false

包装类型

包装类型把基本类型转换为对象,每个基本类型在java.lang包中都有一个相应的包装类型

包装类型: Integer 、Long、Short、Byte、Character、Double、Float、Boolean、BigInteger、BigDecmail
其中BigInteger、BigDecimal没有相对应的基本类型,主要应用于高精度的运算。BigInteger 支持任意精度的整数,BigDecimal支持任意精度带小数点的运算,主要用于金钱的计算上。
在这里插入图片描述

基本数据类型与包装类型的区别

  1. 包装类型是对象,拥有方法和字段;基本类型是值
  2. 声明方式不同,基本数据类型不需要new关键字;包装类型需要通过new在堆内存分配空间
  3. 初始值不同,例如:int的初始值为0,boolean的初始值为false,包装类型的初始值为null
    包装类型可用于 POJO 中,而基本类型则不行。原因是:数据库的查询结果可能是 null,如果使用基本类型的话,因为要自动拆箱(将包装类型转为基本类型,比如说把 Integer 对象转换成 int 值),就会抛出NullPointerException 的异常
  4. 存储位置不同,基本数据类型将值保存在值栈中;包装类型是把对象放在堆中,对象的引用放在栈中
    在这里插入图片描述
  5. 包装类型可用于泛型,基本类型不可以
    当需要往ArrayList,HashMap中放东西时,像int、double这种基本类型是放不进去的,因为容器都是装Object对象
List
list = new ArrayList<>(); // 提示 Syntax error, insert "Dimensions" to complete ReferenceTypeList
list = new ArrayList<>();
  1. 基本类型比包装类型更高效
    在堆中分配空间所需的时间远大于在栈中分配空间所需的时间。堆中分配的内存,由java虚拟机的自动垃圾回收器来管理
你可能感兴趣的文章
Java并发编程 | 一不小心就死锁了,怎么办?
查看>>
(python版)《剑指Offer》JZ01:二维数组中的查找
查看>>
(python版)《剑指Offer》JZ06:旋转数组的最小数字
查看>>
(python版)《剑指Offer》JZ13:调整数组顺序使奇数位于偶数前面
查看>>
(python版)《剑指Offer》JZ28:数组中出现次数超过一半的数字
查看>>
(python版)《剑指Offer》JZ30:连续子数组的最大和
查看>>
(python版)《剑指Offer》JZ32:把数组排成最小的数
查看>>
(python版)《剑指Offer》JZ02:替换空格
查看>>
JSP/Servlet——MVC设计模式
查看>>
使用JSTL
查看>>
Java 8新特性:Stream API
查看>>
管理用户状态——Cookie与Session
查看>>
最受欢迎的前端框架Bootstrap 入门
查看>>
JavaScript编程简介:DOM、AJAX与Chrome调试器
查看>>
通过Maven管理项目依赖
查看>>
通过Spring Boot三分钟创建Spring Web项目
查看>>
Spring的IoC(依赖注入)原理
查看>>
Guava快速入门
查看>>
Java编程基础:static的用法
查看>>
Java编程基础:抽象类和接口
查看>>