一、基础类
Object
所有类的根类,提供
equals()
,hashCode()
,toString()
,wait()
,notify()
等方法。
包装类
Integer
,Double
,Boolean
等,用于基本数据类型的对象表示,支持自动装箱/拆箱。
Integer num = 10; // 自动装箱
int value = num; // 自动拆箱
3. 字符串类
String
:不可变字符串。StringBuilder
:可变字符串,非线程安全,效率高。StringBuffer
:可变字符串,线程安全。
String str = "Hello";
StringBuilder sb = new StringBuilder();
sb.append("World");
二、集合框架
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);
三、时间与日期
旧版 API
Date
:表示日期时间(已过时)。Calendar
:日期计算。SimpleDateFormat
:格式化日期(非线程安全)。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
2. 新版 API(Java 8+)
LocalDate
、LocalTime
、LocalDateTime
:不可变日期时间。DateTimeFormatter
:线程安全的日期格式化。
LocalDate today = LocalDate.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy/MM/dd");
四、输入输出(I/O)
字节流
InputStream
/OutputStream
(抽象类)。实现类:
FileInputStream
、FileOutputStream
。
字符流
Reader
/Writer
(抽象类)。实现类:
FileReader
、BufferedWriter
。
缓冲流
BufferedReader
、BufferedWriter
:提升读写效率。
try (BufferedReader br = new BufferedReader(new FileReader("file.txt"))) {
String line = br.readLine();
}
五、异常处理
Throwable
Exception
(可检查异常):如IOException
、SQLException
。RuntimeException
(非检查异常):如NullPointerException
、ArrayIndexOutOfBoundsException
。Error
:严重错误(如OutOfMemoryError
)。
六、其他工具类
Math
提供数学运算方法(如
sqrt()
,random()
)。
System
系统级操作:
System.out.println()
,System.currentTimeMillis()
。
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)
。
七、多线程
Thread
类创建和管理线程。
Runnable
接口定义线程任务。
new Thread(() -> System.out.println("Thread running")).start();