Java常用类

发布于:2025-07-01 ⋅ 阅读:(21) ⋅ 点赞:(0)

一、基础类

  1. Object

    • 所有类的根类,提供 equals()hashCode()toString()wait()notify() 等方法。

  2. 包装类

    • IntegerDoubleBoolean 等,用于基本数据类型的对象表示,支持自动装箱/拆箱。

Integer num = 10; // 自动装箱
int value = num;  // 自动拆箱

3. 字符串类

  • String:不可变字符串。

  • StringBuilder:可变字符串,非线程安全,效率高。

  • StringBuffer:可变字符串,线程安全。

String str = "Hello";
StringBuilder sb = new StringBuilder();
sb.append("World");

二、集合框架

  1. Collection 接口

    • List(有序可重复):

      • ArrayList:基于动态数组,查询快。

      • LinkedList:基于链表,增删快。

      • Vector:线程安全版 ArrayList(已较少使用)。

    • Set(无序唯一):

      • HashSet:基于哈希表。

      • TreeSet:基于红黑树,有序。

List<String> list = new ArrayList<>();
list.add("Java");

2. Map 接口

  • HashMap:键值对,允许 null,非线程安全。

  • TreeMap:基于红黑树,按键排序。

  • Hashtable:线程安全(已较少使用)。

Map<String, Integer> map = new HashMap<>();
map.put("age", 25);

三、时间与日期

  1. 旧版 API

    • Date:表示日期时间(已过时)。

    • Calendar:日期计算。

    • SimpleDateFormat:格式化日期(非线程安全)。

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

2. 新版 API(Java 8+)

  • LocalDateLocalTimeLocalDateTime:不可变日期时间。

  • DateTimeFormatter:线程安全的日期格式化。

LocalDate today = LocalDate.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd");

四、输入输出(I/O)

  1. 字节流

    • InputStream / OutputStream(抽象类)。

    • 实现类:FileInputStreamFileOutputStream

  2. 字符流

    • Reader / Writer(抽象类)。

    • 实现类:FileReaderBufferedWriter

  3. 缓冲流

    • BufferedReaderBufferedWriter:提升读写效率。

try (BufferedReader br = new BufferedReader(new FileReader("file.txt"))) {
    String line = br.readLine();
}

五、异常处理

  1. Throwable

    • Exception(可检查异常):如 IOExceptionSQLException

    • RuntimeException(非检查异常):如 NullPointerExceptionArrayIndexOutOfBoundsException

    • Error:严重错误(如 OutOfMemoryError)。

六、其他工具类

  1. Math

    • 提供数学运算方法(如 sqrt()random())。

  2. System

    • 系统级操作:System.out.println()System.currentTimeMillis()

  3. Scanner

    • 解析输入流或字符串。

Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt();

4. Optional(Java 8+)

  • 避免空指针异常,封装可能为 null 的值。

Optional<String> name = Optional.ofNullable(getName());

5. Objects

工具方法:Objects.equals(a, b)Objects.hashCode(obj)

七、多线程

  1. Thread 类

    • 创建和管理线程。

  2. Runnable 接口

    • 定义线程任务。

new Thread(() -> System.out.println("Thread running")).start();


网站公告

今日签到

点亮在社区的每一天
去签到