Java 核心类库中常用类和工具类的实现和实践。
1. Java 核心类库有哪些重要的包?它们的作用是什么?
java.lang:包含 Java 核心类,如String、Math、Object、Thread等。java.util:包含常用的工具类和集合类,如ArrayList、HashMap、Collections、Date等。java.io:用于输入输出操作,如文件读写,包含类如File、InputStream、OutputStream等。java.nio:提供非阻塞 I/O 操作,如Buffer、Channel。java.net:用于网络编程,如Socket、URL。java.time:提供日期和时间的现代化 API。java.sql:用于数据库编程。java.util.concurrent:用于并发编程。
2. Object 类有哪些重要的方法?这些方法的用途是什么?
Object 是所有类的父类,以下是其重要方法:
equals(Object obj):比较两个对象是否相等。hashCode():返回对象的哈希值,用于集合中的快速访问(如HashMap)。toString():返回对象的字符串表示。clone():创建并返回对象的副本。getClass():返回对象的运行时类。wait()、notify()、notifyAll():用于线程间通信。
3. String 类为什么是不可变的?
String 是不可变的(immutable),主要原因如下:
- 安全性:在多线程环境下,不可变对象是线程安全的。
- 性能优化:
String被广泛用于字符串池(String Pool)优化,重复的字符串共享相同的对象。 - 哈希值缓存:
String的哈希值是不可变的,因此常用于集合(如HashMap)。
String s1 = "Hello";
String s2 = "Hello";
System.out.println(s1