Java 提供了丰富的 API,涵盖了各种功能和任务,帮助开发者实现高效的编程。以下是一些 Java 常用 API 的详解,包括常见的核心库、工具类以及常用功能的介绍。
1. java.lang 包
java.lang
包包含了 Java 程序的核心类和接口。这些类是 Java 程序的基础,并且自动导入。
1.1 String 类
- 用于处理字符串(不可变字符序列)。
- 常用方法:
length()
:返回字符串的长度。charAt(int index)
:返回指定位置的字符。substring(int beginIndex, int endIndex)
:返回指定范围的子字符串。toUpperCase()
、toLowerCase()
:将字符串转换为大写或小写。equals(Object obj)
:比较两个字符串的内容是否相同。split(String regex)
:将字符串按指定的正则表达式分割成数组。
1.2 Math 类
- 提供了常见的数学函数和常量。
- 常用方法:
abs(int a)
:返回绝对值。sqrt(double a)
:返回平方根。pow(double a, double b)
:返回a
的b
次方。random()
:返回一个随机的 double 值,范围为 [0.0, 1.0)。
1.3 System 类
- 提供系统级操作。
- 常用方法:
currentTimeMillis()
:返回当前时间(毫秒)。exit(int status)
:终止程序的运行。arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
:复制数组内容。
1.4 Object 类
- 所有类的超类,提供了基本的对象操作方法。
- 常用方法:
equals(Object obj)
:比较两个对象是否相等。hashCode()
:返回对象的哈希码。toString()
:返回对象的字符串表示。
2. java.util 包
java.util
包提供了大量的集合类、日期时间类、随机数生成器等工具。
2.1 ArrayList 类
- 一个动态数组实现的列表,可以存储对象。
- 常用方法:
add(E e)
:将元素添加到列表的末尾。remove(int index)
:删除指定索引的元素。get(int index)
:获取指定索引的元素。size()
:返回列表的元素数量。contains(Object o)
:检查列表中是否包含指定元素。
2.2 HashMap 类
- 实现了
Map
接口,存储键值对映射。 - 常用方法:
put(K key, V value)
:将键值对添加到映射中。get(Object key)
:获取指定键对应的值。remove(Object key)
:删除指定键的映射。containsKey(Object key)
:检查是否包含指定的键。
2.3 Date 和 Calendar 类
Date
类表示时间的点,Calendar
用于时间的计算和操作。Date
常用方法:getTime()
:获取当前时间戳。toString()
:返回日期的字符串表示。
Calendar
常用方法:get(int field)
:获取指定字段(如年份、月份等)的值。add(int field, int amount)
:将某个字段的值增加或减少。set(int field, int value)
:设置指定字段的值。
2.4 Random 类
- 用于生成随机数。
- 常用方法:
nextInt(int bound)
:返回一个 [0, bound) 范围的随机整数。nextDouble()
:返回一个 [0.0, 1.0) 范围的随机浮动数。
3. java.io 包
java.io
包提供了输入输出流的类,用于文件和数据的读写。
3.1 File 类
- 用于表示文件和目录。
- 常用方法:
exists()
:检查文件或目录是否存在。createNewFile()
:创建一个新的空文件。delete()
:删除文件或目录。length()
:返回文件的字节大小。
3.2 FileReader 和 FileWriter 类
- 用于字符流的文件读写。
FileReader
常用方法:read()
:读取字符。close()
:关闭流。
FileWriter
常用方法:write(String str)
:将字符串写入文件。
3.3 BufferedReader 和 BufferedWriter 类
- 用于缓冲字符流,提供高效的读写操作。
BufferedReader
常用方法:readLine()
:读取一行内容。
BufferedWriter
常用方法:write(String str)
:将字符串写入缓冲区。
3.4 InputStream 和 OutputStream 类
- 用于字节流的文件读写。
InputStream
常用方法:read()
:读取字节。close()
:关闭流。
OutputStream
常用方法:write(int b)
:写入字节数据。
4. java.nio 包
java.nio
包提供了更高效的 I/O 操作,尤其适用于文件和网络的高效读写。
4.1 Path 类
- 用于处理文件路径。
- 常用方法:
resolve(Path other)
:合并路径。getFileName()
:返回文件名部分。toString()
:返回路径的字符串表示。
4.2 Files 类
- 提供对文件的基本操作。
- 常用方法:
copy(Path source, Path target)
:复制文件。move(Path source, Path target)
:移动文件。delete(Path path)
:删除文件。
4.3 FileChannel 类
- 提供对文件的高效读写操作,支持直接内存访问。
- 常用方法:
read(ByteBuffer dst)
:从通道读取数据到缓冲区。write(ByteBuffer src)
:将缓冲区数据写入通道。
5. java.sql 包
java.sql
包提供了操作数据库的接口和类。
5.1 Connection 接口
- 用于建立和数据库的连接。
- 常用方法:
createStatement()
:创建 SQL 语句对象。prepareStatement(String sql)
:创建预编译 SQL 语句。close()
:关闭数据库连接。
5.2 Statement 接口
- 用于执行 SQL 查询。
- 常用方法:
executeQuery(String sql)
:执行查询,返回ResultSet
。executeUpdate(String sql)
:执行插入、更新、删除等 SQL。
5.3 ResultSet 接口
- 用于存储查询结果。
- 常用方法:
next()
:移动到下一行。getString(String columnLabel)
:获取指定列的值。
6. java.util.concurrent 包
java.util.concurrent
包提供了用于并发编程的工具类。
6.1 ExecutorService 接口
- 用于管理和控制线程池。
- 常用方法:
submit(Callable task)
:提交一个任务并返回Future
。shutdown()
:关闭线程池。
6.2 Future 接口
- 用于获取异步计算的结果。
- 常用方法:
get()
:获取计算结果(可能会阻塞)。
6.3 CountDownLatch 类
- 用于实现线程间的同步,使得一个线程等待其他线程的完成。
- 常用方法:
countDown()
:减少计数。await()
:阻塞当前线程,直到计数为零。