Skip to content

Commit

Permalink
Merge branch 'master' of https://github.com/khakili/dbj
Browse files Browse the repository at this point in the history
  • Loading branch information
MidnightDancing committed Jun 11, 2019
2 parents 3cbaf7a + ce4e36f commit 25a03a0
Showing 1 changed file with 22 additions and 4 deletions.
26 changes: 22 additions & 4 deletions doc/basetype.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
> - 基本类型的类型转换
> - 保持数据精度
> - 拆箱与装箱
> - 使用规范及注意事项
## 数据类型的分类

Expand All @@ -19,7 +18,15 @@ java支持的数据类型分为两类:基本数据类型 和 引用类型。

**基本数据类型和引用类型的区别**

![](../images/doc/basetype2.jpg)
- 从概念方面区分:
- 基本类型:变量名指向具体的数值
- 引用类型:变量名指向存数据对象的内存地址
- 从内存方面区分:
- 基本类型:变量在声明之后,Java就会立刻分配给他内存空间
- 引用类型:它以特殊的方式(类似C指针)指向对象实体(具体的值),这类变量声明时不会分配内存,只是存储了一个内存地址
- 从使用方面区分:
- 基本类型:使用时需要赋具体值,判断时使用 == 号
- 引用类型:使用时可以赋null,判断时使用 equals 方法

## 基本类型的类型转换

Expand Down Expand Up @@ -115,7 +122,18 @@ bString = 2.3
- 一个点有多个出度 —— 分支结构
- 形成了环 —— 循环结构


## 拆箱与装箱

## 使用规范及注意事项
Java 中为每一种基本数据类型提供了相应的包装类,提供一种机制,使得基本数据类型可以与引用类型互相转换。

> 基本数据类型与包装类的转换被称为装箱和拆箱
装箱(boxing)是将值类型转换为引用类型。例如:int 转 Integer
装箱过程是通过调用包装类的 valueOf 方法实现的。

拆箱(unboxing)是将引用类型转换为值类型。例如:Integer 转 int
拆箱过程是通过调用包装类的 xxxValue 方法实现的。(xxx 代表对应的基本数据类型)。

> Java 对于自动装箱和拆箱的设计,依赖于享元设计模式。享元模式尝试重用现有的同类对象,如果未找到匹配的对象,则创建新对象。
> Mapper中方法返回类型应使用包装类,而不是基本类型。防止拆箱时发生空指针异常。

0 comments on commit 25a03a0

Please sign in to comment.