java Long[] ids转为List<Long> ids

发布于:2025-03-13 ⋅ 阅读:(13) ⋅ 点赞:(0)

方法 1:使用 Arrays.asList

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+)

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

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:手动遍历数组

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

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 开发。