Java标准库:完整概述
Java标准库(Java Standard Library)是一套基础包、类和接口的集合,随每个JDK(Java开发工具包)安装包一同提供。它为开发者提供了创建应用程序所需的一切:从基本数据类型和集合的操作,到网络通信和多线程。理解这个库是高效Java开发的关键。
标准库的主要包
该库按包组织。让我们看看其中最重要的几个:
java.lang— 自动导入的包,包含包装类(Integer、Double)、字符串(String、StringBuilder)、系统函数(System、Math)和异常。java.util— 集合、日期处理、随机数、工具类(Arrays、Collections)。java.io— 输入输出流、文件操作和序列化。java.nio— 非阻塞输入输出(New I/O)、缓冲区和通道。java.net— 网络编程(套接字、URL、HTTP)。java.util.concurrent— 多线程:执行器、阻塞队列、原子变量。java.time(Java 8+) — 用于日期和时间处理的现代API(LocalDate、ZonedDateTime)。
java.lang包:一切的基础
java.lang包无需显式导入。它包含Object类——所有类层次结构的根。让我们看看关键元素:
// String类——不可变字符串String greeting = "Привет, Java!";String upper = greeting.toUpperCase(); // "ПРИВЕТ, JAVA!"
// StringBuilder——可变字符串(在循环中比拼接更高效)StringBuilder sb = new StringBuilder("Hello");sb.append(" World");sb.insert(5, ",");System.out.println(sb.toString()); // "Hello, World"
// Math类——数学运算double pi = Math.PI;double sqrt = Math.sqrt(144); // 12.0int max = Math.max(10, 20); // 20特别值得关注的是包装类(Integer、Boolean等)。它们允许在集合中使用基本类型,并提供转换方法:
int primitive = 42;Integer wrapped = Integer.valueOf(primitive); // 自动装箱int back = wrapped.intValue(); // 拆箱
// 将字符串解析为数字int parsed = Integer.parseInt("12345");System.out.println(parsed); // 12345java.util包:集合与工具类
这是最庞大的包。其核心是集合框架(Collections Framework):
- List — 有序列表:
ArrayList(按索引快速访问)、LinkedList(快速插入/删除)。 - Set — 无重复元素的集合:
HashSet、TreeSet(排序)。 - Map — 键值对字典:
HashMap、TreeMap。
import java.util.*;
// HashMap使用示例Map<String, Integer> ages = new HashMap<>();ages.put("Alice", 30);ages.put("Bob", 25);ages.put("Charlie", 35);
for (Map.Entry<String, Integer> entry : ages.entrySet()) { System.out.println(entry.getKey() + ": " + entry.getValue());}
// 列表排序List<Integer> numbers = new ArrayList<>(Arrays.asList(5, 3, 8, 1));Collections.sort(numbers);System.out.println(numbers); // [1, 3, 5, 8]此外,该包中还包含