美文网首页
Java 面试系列:你不知道的基本数据类型和包装类 + 面试题

Java 面试系列:你不知道的基本数据类型和包装类 + 面试题

作者: you的日常 | 来源:发表于2021-03-19 10:04 被阅读0次

基本数据类型

Java 基本数据按类型可以分为四大类:布尔型、整数型、浮点型、字符型,这四大类包含 8 种基本数据类型。

  • 布尔型:boolean
  • 整数型:byte、short、int、long
  • 浮点型:float、double
  • 字符型:char

8 种基本类型取值如下:

数据类型 代表含义 默认值 取值 包装类
boolean 布尔型 false 0(false) 到 1(true) Boolean
byte 字节型 (byte)0 ﹣128 到 127 Byte
char 字符型 '\u0000'(空) '\u0000' 到 '\uFFFF' Character
short 短整数型 (short)0 -2^15 到 2^15-1 Short
int 整数型 0 ﹣2^31 到 2^31-1 Integer
long 长整数型 0L ﹣2^63 到 2^63-1 Long
float 单浮点型 0.0f 1.4e-45 到 3.4e+38 Float
double 双浮点型 0.0d 4.9e-324 到 1.798e+308 Double

除 char 的包装类 Character 和 int 的包装类 Integer 之外,其他基本数据类型的包装类只需要首字母大写即可。包装类的作用和特点,本文下半部分详细讲解。

我们可以在代码中,查看某种类型的取值范围,代码如下:

public static void main(String[] args) {
    // Byte 取值:-128 ~ 127
    System.out.println(String.format("Byte 取值:%d ~ %d", Byte.MIN_VALUE, Byte.MAX_VALUE));
    // Int 取值:-2147483648 ~ 2147483647
    System.out.println(String.format("Int 取值:%d ~ %d", Integer.MIN_VALUE, Integer.MAX_VALUE));
}

包装类型

我们知道 8 种基本数据类型都有其对应的包装类,因为 Java 的设计思想是万物既对象,有很多时候我们需要以对象的形式操作某项功能,比如说获取哈希值(hashCode)或获取类(getClass)等。

那包装类特性有哪些?

1. 功能丰富

包装类本质上是一个对象,对象就包含有属性和方法,比如 hashCode、getClass 、max、min 等。

2. 可定义泛型类型参数

包装类可以定义泛型,而基本类型不行。

比如使用 Integer 定义泛型,代码:

List<Integer> list = new ArrayList<>();

如果使用 int 定义就会报错,代码:

List list = new ArrayList<>();  // 编译器代码报错

3. 序列化

因为包装类都实现了 Serializable 接口,所以包装类天然支持序列化和反序列化。比如 Integer 的类图如下:

Integer 类图

相关文章

网友评论

      本文标题:Java 面试系列:你不知道的基本数据类型和包装类 + 面试题

      本文链接:https://www.haomeiwen.com/subject/jdmebktx.html