目录

java-Long-ids转为ListLong-ids

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

方法 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 ,不能添加或删除元素。
  • 如果 idslong[] (基本类型数组), 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 开发。