1. 空指针异常(NullPointerException)
java
复制下载
// 错误示例
String str = null;
System.out.println(str.length());
// 解决:添加空值检查
if (str != null) {
System.out.println(str.length());
}
// 或使用Optional(Java 8+)
Optional.ofNullable(str).ifPresent(s -> System.out.println(s.length()));
2. 并发修改异常(ConcurrentModificationException)
java
复制下载
// 错误示例
List<String> list = new ArrayList<>(Arrays.asList("A", "B"));
for (String s : list) {
if ("B".equals(s)) {
list.remove(s); // 遍历时修改触发异常
}
}
// 解决:使用迭代器删除
Iterator<String> it = list.iterator();
while (it.hasNext()) {
if ("B".equals(it.next())) {
it.remove(); // 安全删除
}
}
核心要点:
- 空指针:始终验证对象非空,善用Optional
- 集合修改:避免在遍历中直接修改原集合,改用迭代器或Stream API