Arrays.asList处理long
时间: 2023-11-03 22:22:21 浏览: 51
Arrays.asList方法接受一个变长参数,将其转换为一个List对象。然而,由于Java不支持将原始类型(如long)直接作为泛型的类型参数,所以我们不能直接使用Arrays.asList方法处理long类型的数组。
要处理long类型的数组,我们可以使用Java 8引入的LongStream类。可以通过LongStream.of方法将long类型的数组转换为LongStream流,然后使用boxed方法将其转换为Stream<Long>流。最后,可以使用collect方法将Stream<Long>流转换为List<Long>对象。
以下是一个示例代码:
```java
long[] array = {1, 2, 3, 4, 5};
List<Long> list = LongStream.of(array)
.boxed()
.collect(Collectors.toList());
```
现在,我们可以使用list对象来进行后续的操作。
相关问题
Arrays.asList转为long
要将`Arrays.asList`返回的`List`转换为`List<Long>`,可以使用Java 8的流(Stream)和`map`函数来实现。下面是一个示例代码:
```java
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) {
List<Integer> integerList = Arrays.asList(1, 2, 3, 4, 5);
List<Long> longList = integerList.stream()
.map(Integer::longValue)
.collect(Collectors.toList());
System.out.println(longList);
}
}
```
在上面的示例中,我们首先使用`Arrays.asList`将整数数组转换为`List<Integer>`。然后,使用流操作将每个`Integer`元素转换为`Long`类型,并最终收集到一个新的`List<Long>`中。
输出结果将是`[1, 2, 3, 4, 5]`,其中每个元素都是`Long`类型。
Arrays.asList
Arrays.asList 是一个 Java 中的静态方法,用于将传入的参数转换为 List。它接受一个可变参数列表(varargs),并返回一个固定长度的 List。这个方法常用于快速创建 List,尤其是在需要将数组转换为 List 的情况下。如果传递给 asList 方法的参数是基本类型的数组,那么它将被看作是一个对象数组。例如:
```
int[] arr = {1, 2, 3};
List<int[]> list = Arrays.asList(arr); // 会得到一个长度为1的List,其中的元素是整个int数组
```
因此,在将基本类型数组转换为 List 时,需要使用相应的包装类型数组,例如 Integer[]、Long[] 等。同时,由于 asList 方法返回的 List 是一个固定长度的列表,因此不能对其进行添加或删除元素的操作,否则会抛出 UnsupportedOperationException 异常。