跳转至

Java 常用系统类与包详解(非集合版)

一、前言

在 Java 开发中,除了集合框架,标准库还提供了大量实用的系统类与工具包, 用于处理字符串、文件、日期、网络、数学计算、安全、并发等功能。 这些类构成了 Java 应用的基础能力。


二、包的导入与使用

包(Package) 是 Java 中组织类的命名空间,用于防止命名冲突。

package com.example.project;
import java.util.*;
import java.io.File;

java.lang 包会被自动导入。


三、核心系统包概览

包名 功能描述
java.lang 基础类:字符串、数学、系统、线程
java.util 工具类:随机数、日期、扫描器等
java.io 文件与输入输出流
java.nio 高性能 NIO 通道与文件操作
java.net 网络编程
java.math 高精度数学计算
java.time 日期与时间 API(JDK 8+)
java.sql 数据库连接(JDBC)
java.text 文本与格式化
java.security 加密与安全
java.util.concurrent 并发编程支持

四、java.lang

String(字符串类)

  • public int length():返回字符串长度。
  • public char charAt(int index):返回指定索引处字符。
  • public String substring(int begin, int end):截取子串。
  • public boolean equals(Object obj):比较内容是否相同。
  • public boolean isEmpty():判断是否为空字符串。
  • public String toUpperCase():转为大写。
  • public String replace(CharSequence old, CharSequence new):替换子串。

Math(数学类)

  • public static double abs(double a):返回绝对值。
  • public static double pow(double a, double b):幂运算。
  • public static double sqrt(double a):平方根。
  • public static long round(double a):四舍五入。
  • public static double random():返回 0~1 随机数。

System(系统类)

  • public static void exit(int status):退出程序。
  • public static long currentTimeMillis():当前时间毫秒值。
  • public static void gc():请求垃圾回收。
  • public static String getProperty(String key):获取系统属性。

Object(根类)

  • public boolean equals(Object obj):判断是否相等。
  • public int hashCode():返回哈希值。
  • public String toString():返回字符串表示。
  • protected Object clone():克隆对象。

Thread(线程类)

  • public void start():启动线程。
  • public void run():线程任务。
  • public void sleep(long millis):暂停执行。
  • public void join():等待线程结束。
  • public void interrupt():中断线程。

五、java.util(非集合)

Random(随机数)

  • public int nextInt():返回随机整数。
  • public int nextInt(int bound):返回指定范围随机数。
  • public double nextDouble():返回随机小数。
  • public boolean nextBoolean():返回随机布尔值。

Date(旧日期类)

  • public long getTime():获取时间戳。
  • public void setTime(long time):设置时间戳。
  • public int getYear():获取年份(过时)。
  • public int getMonth():获取月份(过时)。

Calendar(日期类)

  • public static Calendar getInstance():获取实例。
  • public void set(int field, int value):设置时间字段。
  • public Date getTime():转换为 Date。
  • public void add(int field, int amount):增减时间。

Scanner(控制台输入)

  • public String nextLine():读取一行文本。
  • public int nextInt():读取整数。
  • public double nextDouble():读取浮点数。
  • public boolean hasNext():判断是否有输入。

Collections(工具类)

  • public static <T> void sort(List<T> list):排序。
  • public static void reverse(List<?> list):反转。
  • public static void shuffle(List<?> list):随机打乱。
  • public static <T> T max(Collection<? extends T> coll):返回最大值。

六、java.io

File(文件类)

  • public boolean exists():判断文件是否存在。
  • public boolean createNewFile():创建文件。
  • public boolean delete():删除文件。
  • public String[] list():列出目录内容。
  • public boolean mkdir():创建目录。

FileReader / FileWriter(字符流)

  • public int read():读取单个字符。
  • public void write(String str):写入字符串。
  • public void close():关闭流。

FileInputStream / FileOutputStream(字节流)

  • public int read():读取字节。
  • public void write(int b):写入字节。
  • public void close():关闭流。

BufferedReader / BufferedWriter(缓冲流)

  • public String readLine():读取一行文本。
  • public void newLine():写入换行符。
  • public void flush():刷新缓冲区。

ObjectInputStream / ObjectOutputStream(对象流)

  • public void writeObject(Object obj):序列化对象。
  • public Object readObject():反序列化对象。

七、java.nio

Files(文件操作)

  • public static List<String> readAllLines(Path path):读取所有行。
  • public static void write(Path path, byte[] bytes):写入文件。
  • public static void copy(Path src, Path dest):复制文件。
  • public static void delete(Path path):删除文件。

Paths(路径管理)

  • public static Path get(String first, String... more):获取路径。
  • public Path toAbsolutePath():返回绝对路径。

ByteBuffer(缓冲区)

  • public ByteBuffer put(byte b):写入一个字节。
  • public byte get():读取一个字节。
  • public void flip():准备读操作。

FileChannel(通道)

  • public int read(ByteBuffer dst):读取到缓冲区。
  • public int write(ByteBuffer src):写入通道。
  • public void close():关闭通道。

八、java.net

URL(统一资源定位)

  • public URL(String spec):构造 URL。
  • public URLConnection openConnection():打开连接。
  • public String getHost():获取主机名。

HttpURLConnection(HTTP 连接)

  • public void connect():建立连接。
  • public InputStream getInputStream():获取输入流。
  • public int getResponseCode():获取响应码。

Socket / ServerSocket(TCP 通信)

  • public Socket accept():等待客户端连接。
  • public InputStream getInputStream():获取输入流。
  • public OutputStream getOutputStream():获取输出流。

InetAddress(IP 地址)

  • public static InetAddress getLocalHost():获取本机地址。
  • public String getHostName():主机名。
  • public String getHostAddress():IP 地址。

九、java.math

BigDecimal(高精度浮点数)

  • public BigDecimal add(BigDecimal val):加法。
  • public BigDecimal subtract(BigDecimal val):减法。
  • public BigDecimal multiply(BigDecimal val):乘法。
  • public BigDecimal divide(BigDecimal val):除法。

BigInteger(高精度整数)

  • public BigInteger add(BigInteger val):加法。
  • public BigInteger subtract(BigInteger val):减法。
  • public BigInteger multiply(BigInteger val):乘法。
  • public BigInteger mod(BigInteger m):取模。

十、java.time

LocalDate / LocalTime / LocalDateTime

  • public static LocalDate now():当前日期。
  • public LocalDate plusDays(long days):增加天数。
  • public int getYear():获取年份。
  • public LocalDateTime format(DateTimeFormatter fmt):格式化。

DateTimeFormatter

  • public static DateTimeFormatter ofPattern(String pattern):定义格式。
  • public String format(TemporalAccessor temporal):格式化日期时间。

十一、java.sql

Connection(数据库连接)

  • public Statement createStatement():创建 SQL 语句。
  • public PreparedStatement prepareStatement(String sql):预编译语句。
  • public void close():关闭连接。

Statement / PreparedStatement

  • public ResultSet executeQuery(String sql):执行查询。
  • public int executeUpdate(String sql):执行更新。

ResultSet(结果集)

  • public boolean next():移动到下一行。
  • public String getString(String column):获取字符串。
  • public int getInt(String column):获取整数。

DriverManager

  • public static Connection getConnection(String url, String user, String pass):建立连接。

十二、java.text

SimpleDateFormat

  • public String format(Date date):格式化日期。
  • public Date parse(String text):解析日期字符串。

DecimalFormat

  • public String format(double number):格式化数字。

MessageFormat

  • public static String format(String pattern, Object... args):按模板输出文本。

十三、java.security

MessageDigest(摘要)

  • public static MessageDigest getInstance(String algorithm):获取算法实例。
  • public byte[] digest(byte[] input):生成摘要。

KeyPairGenerator(密钥生成)

  • public static KeyPairGenerator getInstance(String algorithm):获取生成器。
  • public KeyPair generateKeyPair():生成密钥对。

Signature(签名)

  • public void initSign(PrivateKey key):初始化签名。
  • public byte[] sign():生成签名。
  • public boolean verify(byte[] sig):验证签名。

十四、java.util.concurrent

ExecutorService(线程池)

  • public Future<?> submit(Runnable task):提交任务。
  • public void shutdown():关闭线程池。

Future(异步结果)

  • public Object get():获取结果。
  • public boolean cancel(boolean mayInterruptIfRunning):取消任务。

CountDownLatch(同步工具)

  • public void await():等待计数归零。
  • public void countDown():递减计数。

ReentrantLock(可重入锁)

  • public void lock():加锁。
  • public void unlock():解锁。

ConcurrentHashMap(并发 Map)

  • public V put(K key, V value):放入键值。
  • public V get(Object key):获取值。
  • public V remove(Object key):移除键值。

十五、总结

  • 本文涵盖 Java 常用系统包中除集合类外的核心类与方法。
  • 建议多结合官方文档与实践理解其用法。