实用指南:Java常用包有哪些
1.Java常用包了解
1.1 在 Java 开发中,包(Package)是组织类和接口的重要机制,它不仅避免了命名冲突, 还能提高代码的可维护性。Java 标准库(JDK)提供了大量实用包,涵盖了从基础数据处理到 网络编程、GUI 开发等各个领域。本文将详细介绍 Java 中最常用的包及其核心功能,帮助开 发者系统掌握 Java 标准库的使用。
1.2 Java有哪些常用的包
| 常用包 | 说明 | 包中常用类 |
| java.lang | Java的核心类 | String,Math,System,Thread |
| java.util | Java的大量工具类/接口和集合框架类/接口 | Arrays,List,Set |
| java.net | Java网络编程相关的类/接口 | Socket,URL,URI |
| java.io | Java输入/输出编程相关的类/接口 | InputStream,OutputStream |
| java.text | Java格式化相关的类 | DateFormat,NumbeerFormat |
| java.sql | Java进行JDBC数据库编程的相关类/接口 | DataTruncation,NumberFormat |
| java.awt | 抽象窗口工具集(Abstract Window Toolkits)的相关类/接口 | Canvas |
2.基础核心包:Java 语言的详细了解
2.1java.lang:Java 语言核心包
特点:无需手动导入,JVM 自动加载,包含 Java 程序运行必不可少的类和接口。
核心类 / 接口:
Object:所有类的根类,提供equals()、hashCode()、toString()等基础方法。String/StringBuilder/StringBuffer:字符串处理类,其中String不可变,后两者支持可变字符串操作(StringBuffer线程安全,StringBuilder性能更优)。基本数据类型包装类:
Integer、Double、Boolean等,实现基本类型与对象的转换。数学相关:
Math(提供三角函数、随机数等静态方法)、Thread(线程类)、Throwable(异常根类)。
应用场景:所有 Java 程序都会直接或间接使用,例如字符串处理、异常处理、线程创建等。
2.2 java.util:工具类包
特点:包含集合框架、日期时间处理、工具类等,是日常开发中使用最频繁的包之一。
核心组件:
集合框架:
- 列表:
ArrayList(动态数组)、LinkedList(双向链表)。 - 集合:
HashSet(哈希集合)、TreeSet(有序集合,基于红黑树)。 - 映射:
HashMap(哈希表,JDK 1.8 后引入红黑树优化)、TreeMap(有序映射)、ConcurrentHashMap(线程安全的哈希映射)。 - 工具类:
Collections(集合操作工具,如排序、同步化)、Arrays(数组操作工具)。
- 列表:
日期时间(JDK 1.8+ 推荐):
LocalDate/LocalTime/LocalDateTime:本地日期、时间、日期时间处理。DateTimeFormatter:日期时间格式化。- 旧版类(不推荐):
Date、Calendar(线程不安全,设计存在缺陷)。
其他工具:
Random:随机数生成。Scanner:输入流扫描(如读取控制台输入)。Optional:处理空指针问题的容器类。
应用场景:数据结构实现、集合操作、日期计算、输入处理等。
2.3 java.net:工具类包
1.java.net 包主要涵盖以下功能:
基于 TCP 的可靠网络通信(面向连接)。基于 UDP 的数据报通信(无连接)
URL 解析与网络资源访问。IP 地址与主机名处理。网络接口与协议管理。
2.核心类与接口详解
TCP 是一种面向连接、可靠的传输层协议,适用于需要确保数据完整性的场景(如文件 传输、HTTP 通信)。
Socket(客户端套接字)
作用:创建客户端与服务器的连接,发送和接收数据。
常用构造方法:
java运行:
作用:监听指定端口,接收客户端的连接请求。
java运行展示
// 绑定到指定端口
ServerSocket(int port)
2.4. java.io:输入输出处理包
核心功能:处理文件、流数据的读写,支持字节 / 字符操作、对象序列化等。核心类:
字节流:FileInputStream/FileOutputStream(文件字节读写)、BufferedInputStream(带 缓冲的高效流)。
字符流:FileReader/FileWriter(文本文件读写)、BufferedReader(逐行读取文本)。
对象流:ObjectInputStream/ObjectOutputStream(对象序列化 / 反序列化)。
java运行
// 用 BufferedReader 读取文本文件
try (BufferedReader br = new BufferedReader(new FileReader("test.txt"))) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line); // 逐行输出文件内容
}
} catch (IOException e) {
e.printStackTrace();
}
2. 5 java.text:文本格式化包
核心功能:处理字符串、日期、数字的格式化与解析。核心类:
SimpleDateFormat:日期与字符串互转(如 yyyy-MM-dd 格式)。
DecimalFormat:数字格式化(如保留两位小数、百分比显示)。
MessageFormat:带占位符的字符串格式化(如动态替换文本中的变量)。
// 日期格式化
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
String dateStr = sdf.format(new Date()); // 输出:2025年10月29日
// 数字格式化(保留两位小数)
DecimalFormat df = new DecimalFormat("#.00");
String numStr = df.format(3.1415); // 输出:3.14
2.6 java.sql:数据库访问包(JDBC)
核心功能:提供 Java 连接数据库的标准接口支持 SQL 执行结果处理。核心类 / 接口:
DriverManager:管理数据库驱动,获取连接。
Connection:数据库连接对象,负责创建执行 SQL 的语句。
PreparedStatement:预编译 SQL 语句(防注入,支持参数化查询)。
ResultSet:存储 SQL 查询结果集。
// 连接 MySQL 数据库并查询
try (Connection conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/test", "root", "password");
PreparedStatement ps = conn.prepareStatement("SELECT name FROM user WHERE id = ?")) {
ps.setInt(1, 1); // 设置参数
ResultSet rs = ps.executeQuery();
if (rs.next()) {
System.out.println(rs.getString("name")); // 输出查询结果
}
} catch (Exception e) {
e.printStackTrace();
}
2.7 java.awt:抽象窗口工具包
核心功能:提供桌面应用的 GUI 组件(如按钮、窗口)和绘图功能,依赖系统原生组件。核心类:
Frame:顶级窗口容器。Button/TextField:按钮、文本输入框等组件。Graphics:绘图工具类(绘制图形、文本)。
// 创建简单窗口
Frame frame = new Frame("AWT 窗口");
frame.setSize(300, 200); // 设置大小
frame.add(new Button("点击我")); // 添加按钮
frame.setVisible(true); // 显示窗口
3总结与实践建议
Java 标准库的包覆盖了开发的方方面面,掌握常用包的核心功能是提升开发效率的关键:
- 基础开发:重点掌握
java.lang、java.util(集合、日期)、java.io。 - 进阶场景:网络编程(
java.net)、并发编程(java.util.concurrent)、数据库访问(java.sql)。 - 版本差异:注意 JDK 版本带来的变化(如 JDK 1.8 的日期类、JDK 11 的 HTTP 客户端)。
在实际开发中,除了标准库,还会结合 Spring、Guava 等第三方库,但标准库是基础,深入理解能帮助你更好地使用上层框架。
浙公网安备 33010602011771号