方法 1:使用 Arrays.asList
java">import java.util.Arrays;
import java.util.List;public class Main {public static void main(String[] args) {Long[] ids = {1L, 2L, 3L, 4L};List<Long> list = Arrays.asList(ids);System.out.println(list); // 输出: }
}
注意:
Arrays.asList
返回的是一个固定大小的List
,不能添加或删除元素。- 如果
ids
是long[]
(基本类型数组),Arrays.asList
会将其视为单个元素,而不是转换为List<Long>
。
方法 2:使用 Stream
(Java 8+)
java">import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;public class Main {public static void main(String[] args) {Long[] ids = {1L, 2L, 3L, 4L};List<Long> list = Arrays.stream(ids).collect(Collectors.toList());System.out.println(list); // 输出: }
}
优点:
- 返回的是一个可变的
List
,支持添加或删除元素。 - 适用于
Long[]
或long[]
数组。
方法 3:使用 Collections.addAll
java">import java.util.ArrayList;
import java.util.Collections;
import java.util.List;public class Main {public static void main(String[] args) {Long[] ids = {1L, 2L, 3L, 4L};List<Long> list = new ArrayList<>();Collections.addAll(list, ids);System.out.println(list); // 输出: }
}
优点:
- 返回的是一个可变的
List
,支持添加或删除元素。
方法 4:手动遍历数组
java">import java.util.ArrayList;
import java.util.List;public class Main {public static void main(String[] args) {Long[] ids = {1L, 2L, 3L, 4L};List<Long> list = new ArrayList<>();for (Long id : ids) {list.add(id);}System.out.println(list); // 输出: }
}
优点:
- 灵活性高,可以在遍历时进行额外操作。
方法 5:使用 Guava
库(第三方库)
如果你使用了 Google Guava 库,可以使用 Lists.newArrayList
:
java">import com.google.common.collect.Lists;
import java.util.List;public class Main {public static void main(String[] args) {Long[] ids = {1L, 2L, 3L, 4L};List<Long> list = Lists.newArrayList(ids);System.out.println(list); // 输出: }
}
优点:
- 代码简洁,适用于多种集合操作。
总结
方法 | 可变性 | 是否需要额外库 | 适用场景 |
---|---|---|---|
Arrays.asList | 不可变 | 不需要 | 快速转换,不需要修改集合 |
Stream | 可变 | 不需要 | Java 8+,支持链式操作 |
Collections.addAll | 可变 | 不需要 | 适用于多种集合类型 |
手动遍历 | 可变 | 不需要 | 需要额外操作时使用 |
Guava | 可变 | 需要 | 使用 Guava 库时 |
推荐使用 方法 2(Stream),因为它简洁、功能强大,且适用于现代 Java 开发。