如何准确地向 Long 类型列表追加新元素?
- 内容介绍
- 相关推荐
本文共计649个文字,预计阅读时间需要3分钟。
在Java中,使用`List.of()`创建的是不可变列表,因此不能直接调用`add()`方法,否则会抛出`UnsupportedOperationException`。若需要可变列表,应改用`ArrayList`等可变集合实现。同时,注意命名规范和代码风格。
在 Java 中,List.of(E...) 是 Java 9 引入的便捷工厂方法,用于创建不可修改(unmodifiable) 的不可变列表。正如官方文档明确指出:“Returns an unmodifiable list”,这意味着一旦创建,其内容无法通过 add()、remove()、set() 等方法变更——任何修改尝试都会触发 UnsupportedOperationException。
你遇到的错误正是源于此:
List<Long> longList = List.of(3L); // ✅ 创建不可变列表 longList.add(2L); // ❌ 抛出 UnsupportedOperationException
✅ 正确做法:使用可变列表容器
要支持动态增删元素,必须使用可变(mutable)的 List 实现类,最常用的是 ArrayList。
本文共计649个文字,预计阅读时间需要3分钟。
在Java中,使用`List.of()`创建的是不可变列表,因此不能直接调用`add()`方法,否则会抛出`UnsupportedOperationException`。若需要可变列表,应改用`ArrayList`等可变集合实现。同时,注意命名规范和代码风格。
在 Java 中,List.of(E...) 是 Java 9 引入的便捷工厂方法,用于创建不可修改(unmodifiable) 的不可变列表。正如官方文档明确指出:“Returns an unmodifiable list”,这意味着一旦创建,其内容无法通过 add()、remove()、set() 等方法变更——任何修改尝试都会触发 UnsupportedOperationException。
你遇到的错误正是源于此:
List<Long> longList = List.of(3L); // ✅ 创建不可变列表 longList.add(2L); // ❌ 抛出 UnsupportedOperationException
✅ 正确做法:使用可变列表容器
要支持动态增删元素,必须使用可变(mutable)的 List 实现类,最常用的是 ArrayList。

