0
点赞
收藏
分享

微信扫一扫

强哥说Java--Java包装类


Java的包装类

  • ​​前言​​
  • ​​目标​​
  • ​​1. 什么是包装类​​
  • ​​2. 为什么需要包装类​​
  • ​​3. 基本数据类型与包装类​​
  • ​​4. 包装类常用方法​​
  • ​​4.1 Number 类​​
  • ​​4.1.1 构造方法​​
  • ​​4.1.2 常用方法​​
  • ​​4.1.3 常用常量​​
  • ​​4.2 Character 类​​
  • ​​4.2.1 构造方法​​
  • ​​4.2.2 常用方法​​
  • ​​4.3 Boolean 类​​
  • ​​4.3.1 构造方法​​
  • ​​4.3.2 常用方法​​
  • ​​4.3.3 常用常量​​
  • ​​5. 装箱和拆箱​​
  • ​​6. 小结​​

前言

  • 8.26
  • 编程学习没有停止
  • 成为高级人才,编程和运维哪个都不能少
  • 都给我学!!!
  • 奥里给

目标

我们将了解到什么是包装类

为什么需要包装类

Java 提供的包装类有哪些

各种包装类的常用方法和常量介绍

什么是装箱操作以及什么是拆箱操作等内容

1. 什么是包装类

Java 有 8 种基本数据类型,Java 中的每个基本类型都被包装成了一个类,这些类被称为包装类。

包装类可以分为 3 类:​​Number​​​、​​Character​​​、​​Boolean​​,包装类的架构图如下所示:

强哥说Java--Java包装类_包装类

2. 为什么需要包装类

我们知道 Java 是面向对象的编程语言,但为了便于开发者上手,Java 沿用了 C 语言的基本数据类型,因此 Java 数据类型被分为了基本数据类型和引用数据类型。

对于简单的运算,开发者可以直接使用基本数据类型。但对于需要对象化交互的场景(例如将基本数据类型存入集合中),就需要将基本数据类型封装成 Java 对象,这是因为基本数据类型不具备对象的一些特征,没有对象的属性和方法,也不能使用面向对象的编程思想来组织代码。出于这个原因,包装类就产生了。

包装类就是一个类,因此它有属性、方法,可以对象化交互。

3. 基本数据类型与包装类

下表列出了基本数据类型对应的包装类。这些包装类都位于 ​​java.lang​​ 包下,因此使用包装类时,我们不需要手动引入。

基本数据类型

对应的包装类

byte

Byte

short

Short

int

Integer

long

Long

float

Float

double

Double

char

Character

boolean

Boolean

除了 ​​int​​​ 对应的包装类名称为 ​​Integer​​​ 以及 ​​char​​​ 对应的包装类名称 ​​Character​​​,其他 ​​6​​ 种数据类型对应的包装类,命名都为其基本数据类型的首字母的大写。

4. 包装类常用方法

4.1 Number 类

Number 类是所有数值类型包装类的父类,这里以其中一个子类 ​​Integer​​ 类为例,介绍其构造方法、常用方法以及常量。

4.1.1 构造方法

Integer 类提供两个构造方法:

  1. ​Integer(int value)​​:以 int 型变量作为参数创建 Integer 对象;
  2. ​Integer(String s)​​:以 String 型变量作为参数创建 Integer 对象。

实例如下:

package com.caq.exception;

public class Test2 {
public static void main(String[] args) {
//以int变量为参数创建对象
Integer integer = new Integer(3);
//以字符串类型作为参数创建对象
Integer integer1 = new Integer("5");
}
}

4.1.2 常用方法

  • ​byte byteValue()​​:以 byte 类型返回该 Integer 的值;
  • ​int compareTo(Integer1 Integer2)​​:在数值上比较两个 Integer 对象。如果这两个值相等,则返回 0;如果调用对象的数值小于 Integer2 的数值,则返回负值;如果调用对象的数值大于 Integer2的数值,则返回正值;
  • ​boolean equals(Object obj)​​:比较此对象与指定对象是否相等;
  • ​int intValue()​​:以 int 类型返回此 Integer 对象;
  • ​int shortValue()​​:以 short 类型返回此 Integer 对象;
  • ​toString()​​:返回一个表示该 Integer 值的 String 对象;
  • ​static Integer valueOf(String str)​​:返回保存指定的 String 值的 Integer 对 象;
  • ​int parseInt(String str)​​:返回包含在由 str 指定的字符串中的数字的等价整数值。

4.1.3 常用常量

  1. ​MAX_VALUE​​: 表示 int 型可取的最大值;
  2. ​MIN_VALUE​​: 表示 int 型可取的最小值;
  3. ​SIZE​​:表示以二进制补码形式表示 int 值的位数;
  4. ​TYPE​​: 表示基本类型 Class 实例。

package com.caq.exception;

public class Test2 {
public static void main(String[] args) {
int a = Integer.MAX_VALUE;
int b = Integer.MIN_VALUE;
int c = Integer.SIZE;
System.out.println("int类型可取的MAX_VALUE是"+a);
System.out.println("int类型可取的MIN_VALUE是"+b);
System.out.println("int类型可取的二进制位数是"+c);
}
}

运行结果:

int类型可取的MAX_VALUE是2147483647
int类型可取的MIN_VALUE是-2147483648
int类型可取的二进制位数是32

4.2 Character 类

Character 类在对象中包装一个基本类型为 char 的值。一个 Character 对象包含类型为 char 的单个字段。

4.2.1 构造方法

Character 类提供了一个构造方法:

​Character(char value)​​:很少使用。

4.2.2 常用方法

  • ​char charValue()​​:返回此 Character 对象的值;
  • ​int compareTo(Character anotherCharacter)​​:返回此 Character 对象的值,根据数字比较两个 Character 对象,若这两个对象相等则返回 0 ;
  • ​boolean equals(Object obj)​​:将调用该方法的对象与指定的对象相比较;
  • ​char toUpperCase(char ch)​​:将字符参数转换为大写;
  • ​char toLowerCase(char ch)​​:将字符参数转换为小写;
  • ​String toString()​​:返回一个表示指定 char 值的 String 对象;
  • ​char charValue()​​:返回此 Character 对象的值;
  • ​boolean isUpperCase(char ch)​​:判断指定字符是否是大写字符;
  • ​boolean isLowerCase(char ch)​​:判断指定字符是否是小写字符。

4.3 Boolean 类

Boolean 类将基本类型为 boolean 的值包装在一个对象中。一个 Boolean 类型的对象只包含一个类型为 boolean 的字段。此外,此类还为 boolean 和 String 的相互转换提供了许多方法,并提供了处理 boolean 时非常有用的其他一些常量和方法。

4.3.1 构造方法

Boolean 类提供了如下两个构造方法:

  1. ​Boolean(boolean value)​​:创建一个表示 value 参数的 boolean 对象(很少使用);
  2. ​Boolean(String s)​​:以 String 变量作为参数,创建 boolean 对象。此时,如果传入的字符串不为 null,且忽略大小写后的内容等于 “true”,则生成 Boolean 对象值为 true,反之为 false。(很少使用)。

4.3.2 常用方法

  • ​boolean booleanValue()​​:将 Boolean 对象的值以对应的 boolean 值返回;
  • ​boolean equals(Object obj)​​:判断调用该方法的对象与 obj 是否相等,当且仅当参数不是 null,而且与调用该方法的对象一样都表示同一个 boolean 值的 Boolean 对象时, 才返回 true;
  • ​boolean parseBoolean(Sting)​​:将字符串参数解析为 boolean 值;
  • ​String toString()​​:返回表示该 boolean 值的 String 对象;
  • ​boolean valueOf(String s)​​:返回一个用指定的字符串表示值的 boolean 值。

4.3.3 常用常量

  • ​TRUE​​:对应基值 true 的 Boolean 对象;
  • ​FALSR​​:对应基值 false 的 Boolean 对象;
  • ​TYPE​​:表示基本类型 Class 实例。

5. 装箱和拆箱

  1. 装箱就是基本数据类型向包装类转换;
  2. 拆箱就是包装类向基本数据类型转换。
  3. 装箱和拆箱又有自动和手动之分。

package com.caq.exception;
//java.lang包是java语言的核心,它提供了java中的基础类。
// 包括基本Object类、Class类、String类、基本类型的包装类、基本的数学类等等最基本的类。
//lang包中的类的应用不需要手动import。

public class Test2 {
public static void main(String[] args) {
//自动装箱
int num1 = 10;
Integer num2 = num1;
System.out.println(num2);

//手动装箱
Integer num3 = new Integer(10);
System.out.println(num3);
}
}

10
10

  • 自动装箱就是直接将一个基本数据类型的变量,赋值给对应包装类型的变量;
  • 手动装箱就是调用包装类的构造方法(不推荐这样的操作)

拆箱

package com.caq.exception;
//java.lang包是java语言的核心,它提供了java中的基础类。
// 包括基本Object类、Class类、String类、基本类型的包装类、基本的数学类等等最基本的类。
//lang包中的类的应用不需要手动import。

public class Test2 {
public static void main(String[] args) {
//自动插箱
Integer num1 = 20;
int num2 = num1;
System.out.println(num2);

//手动拆箱
int num3 = num1.intValue();
System.out.println(num3);
}
}

20
20

自动拆箱就是直接将一个包装类型的变量,赋值给对应的基本数据类型变量;

手动拆箱通过调用对应包装类下的 ​​xxxValue()​​ 方法来实现。

6. 小结

  1. 包装类就是将基本数据类型包装成的类,它有属性、方法,可以对象化交互。
  2. 除了 ​​int​​​ 对应的包装类名称为 ​​Integer​​​ 以及 ​​char​​​ 对应的包装类名称 ​​Character​​​,其他 ​​6​​ 种数据类型对应的包装类,命名都为其基本数据类型的首字母的大写。
  3. 装箱就是基本数据类型向包装类转换,拆箱就是包装类向基本数据类型转换。


举报

相关推荐

0 条评论