LearnJava(一) 数据类型

简介: 8个基本数据类型boolean(1)byte(8)char(16)short(16)int (32)long(64)float(32)double(64)每种基本数据类型都有对应的包装器类型,基本数据类型与其对应的包装类型之间的赋值使用自动装箱与拆箱完成。

8个基本数据类型

  • boolean(1)
  • byte(8)
  • char(16)
  • short(16)
  • int (32)
  • long(64)
  • float(32)
  • double(64)

每种基本数据类型都有对应的包装器类型,基本数据类型与其对应的包装类型之间的赋值使用自动装箱与拆箱完成。

简单来说 装箱就是自动将基本数据类型转换为包装器类型;拆箱就是自动将包装器类型转换为基本数据类型。

Integer i = 10;      //装箱
int n = i;           //拆箱

关于装箱与拆箱相关概念可参考博客 深入剖析Java中的装箱与拆箱

装箱过程是通过调用包装器的 valueOf 方法实现的,拆箱过程是通过调用包装器的
×××value(×××表示对应的基本数据类型)方法实现的。

// 自动装箱,与下方调用 valueOf方法等同
Integer i1 = 200;
Integer i2 = 200;
System.out.println(i1 == i2);         // false

Integer i3 = Integer.valueOf(123);
Integer i4 = Integer.valueOf(123);
System.out.println(i3 == i4);        // true

Integer i5 = new Integer(200);
Integer i6 = new Integer(200);
System.out.println(i6 == i5);        // false

new Integer() 与 Integer.valueOf() 的区别在于,new Intege() 每次都会创建一个新的对象,而 Integer.valueOf() 可能会使用缓存对象,这涉及到缓存池,Integer的缓存池大小默认为-128~127,当数值在 [-128,127] 时,便返回指向Integer缓存池 (IntegerCache.cache )中已经存在的对象的引用;否则,创建一个新的Integer对象。

  • i1 和 i2 数值为200,会创建新的对象,因此不等
  • i3 和 i4 数值为123 ,指向同一个对象,因此相等
  • i5 和 i6 都是直接创建新的对象,因此不等
相关文章
|
数据可视化 数据挖掘
跟着 Cancer Discovery 学作图 | 复杂小提琴图
跟着 Cancer Discovery 学作图 | 复杂小提琴图
228 0
|
7月前
|
机器学习/深度学习 存储 设计模式
Python 高级编程与实战:深入理解性能优化与调试技巧
本文深入探讨了Python的性能优化与调试技巧,涵盖profiling、caching、Cython等优化工具,以及pdb、logging、assert等调试方法。通过实战项目,如优化斐波那契数列计算和调试Web应用,帮助读者掌握这些技术,提升编程效率。附有进一步学习资源,助力读者深入学习。
|
算法 安全 Linux
【C++STL简介】——我与C++的不解之缘(八)
【C++STL简介】——我与C++的不解之缘(八)
|
Web App开发 移动开发 前端开发
技术经验分享:canvas+howler.js解决同页面视频、音频同时播放问题
技术经验分享:canvas+howler.js解决同页面视频、音频同时播放问题
432 0
|
KVM 虚拟化
KVM虚拟机的热迁移
这篇文章详细介绍了KVM虚拟机的热迁移过程,包括临时迁移和永久迁移的步骤,以及可能遇到的故障和解决方案。
529 1
KVM虚拟机的热迁移
|
应用服务中间件 网络安全 nginx
|
SQL 消息中间件 算法
Flink CDC 如何简化实时数据入湖入仓
本文整理自云邪、雪尽在 Flink Forward Asia 2021 的分享,该分享以 5 个章节详细介绍如何使用 Flink CDC 来简化实时数据的入湖入仓, 文章的主要内容如下: 1. Flink CDC 介绍 2. Flink CDC 的核心特性 3. Flink CDC 的开源生态 4. Flink CDC 在阿里巴巴的实践与改进 5. Flink CDC 的未来规划
10546 2
Flink CDC 如何简化实时数据入湖入仓
|
安全
PADS Layout元器件独立规则设置
对于设计规则设置,之前有粉丝说单独设置元器件的规则没有效果,主要是指间距和线宽的设置。
820 0
|
对象存储 存储 分布式计算
JindoFS: 云上大数据的高性能数据湖存储方案
JindoFS 是EMR打造的高性能大数据存储服务,可以为不同的计算引擎提供不同的存储服务,可以根据应用的场景来选择不同的存储模式。在2019杭州云栖大会大数据生态专场,阿里巴巴计算平台事业部EMR团队技术专家殳鑫鑫和Intel大数据团队软件开发经理徐铖共同向大家分享了云上大数据的高性能数据湖存储方案JindoFS的产生背景、架构以及与Intel DCPM的性能评测。
16719 58
JindoFS: 云上大数据的高性能数据湖存储方案