JAVA全系列 教程
3762个小节阅读:7095k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
我们前面学习的八种基本数据类型并不是对象,为了将基本类型数据和对象之间实现互相转化,Java为每一个基本数据类型提供了相应的包装类。
Java是面向对象的语言,但并不是“纯面向对象”的,因为我们经常用到的基本数据类型就不是对象。但是我们在实际应用中经常需要将基本数据转化成对象,以便于操作。比如:将基本数据类型存储到Object[ ]
数组或集合中的操作等等。
为了解决这个不足,Java在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class)。
包装类位于java.lang包
,八种包装类和基本数据类型的对应关系:
在这八个类名中,除了Integer
和Character类
以外,其它六个类的类名和基本数据类型一致,只是类名的第一个字母大写而已。
Number类是抽象类,因此它的抽象方法,所有子类都需要提供实现。Number类提供了抽象方法:intValue()
、longValue()
、floatValue()
、doubleValue()
,意味着所有的“数字型”包装类都可以互相转型。
下面我们通过一个简单的示例认识一下包装类。
【示例】初识包装类
public class WrapperClassTest {
public static void main(String[ ] args) {
Integer i = new Integer(10); //从java9开始被废弃
Integer j = Integer.valueOf(50); //官方推荐
}
}
示例内存分析如图所示:
对于包装类来说,这些类的用途主要包含两种:
Object[ ]
、集合等的操作。【示例】包装类的使用
xxxxxxxxxx
public class Test {
/** 测试Integer的用法,其他包装类与Integer类似 */
void testInteger() {
// 基本类型转化成Integer对象
Integer int1 = new Integer(10); //已废弃,不推荐使用
Integer int2 = Integer.valueOf(20); // 官方推荐这种写法
// Integer对象转化成int
int a = int1.intValue();
// 字符串转化成Integer对象
Integer int3 = Integer.parseInt("334");
Integer int4 = new Integer("999");
// Integer对象转化成字符串
String str1 = int3.toString();
// 一些常见int类型相关的常量
System.out.println("int能表示的最大整数:" + Integer.MAX_VALUE);
}
public static void main(String[ ] args) {
Test test = new Test();
test.testInteger();
}
}
执行结果如图所示:
实时效果反馈
1. 如下关于包装类的说法,错误的是:
A 每个基本数据类型都有对应的包装类。
B 包装类的基本作用:在基本数据类型、包装类对象、字符串之间提供相互之间的转化。
C int
对应的包装类是Integer
D int
对应的包装类是Int
答案
1=>D