arrays aslist 型指定 Mới nhất

Kinh Nghiệm Hướng dẫn arrays aslist 型指定 Mới Nhất

Ban đang tìm kiếm từ khóa arrays aslist 型指定 được Cập Nhật vào lúc : 2022-02-09 07:31:14 . Với phương châm chia sẻ Mẹo Hướng dẫn trong nội dung bài viết một cách Chi Tiết Mới Nhất. Nếu sau khi đọc nội dung bài viết vẫn ko hiểu thì hoàn toàn có thể lại phản hồi ở cuối bài để Admin lý giải và hướng dẫn lại nha.

在API中对asList()的描述
public staticListasList(T… a)

在来看一个例子:(参数类型为可变参数的方法,可以传多个指定类型的值,也可传指定类型的数组)

import java.util.Arrays;
import java.util.List;

public class TestArrayLIst
public static void main(String[] args)
int[] arr = 1,2,3;
List asList = Arrays.asList(arr);
System.out.println(asList);

Integer[] arr1 = 1,2,3;
List asList2 = Arrays.asList(arr1);
System.out.println(asList2);

public static void fun(int… a)
System.out.println(“int…”);

/*Output:
[[[emailprotected]]
[1, 2, 3]
*/

代码中我们可以看到,给方法Arrays.asList()方法传基本类型int数组时返回的类型为List,当传int的包装类型Integer数组时返回的为List。

为什么会这样呢???(以前一直对这个方法很迷惑)

今天看它的源码时发现:

可以看到当调用Arrays.asList()方法时,返回的实际类型是Arrays类中的一个继承了AbstractList的成员内部类ArrayList,还是private的。而从Arrays的内部类ArrayList的构造器中可以看出,构造器所做的是把传进来的数组赋给ArrayLsit类中定义的一个不可变数组E[] a。

用大白话说:Arrays.asList()的作用就是,把传进来的可变参数(编译期把可变参数转为数组),然后把这个数组赋给ArrayList(内部类)并返回这个ArrayList,而且这个ArrayList中存的数组类型为传入可变参数的类型。

而在Java中的泛型中,基本数据类型不可以泛型化。但是基本类型的int的数组可以作为泛型的参数化类型,如下列子:

import java.util.ArrayList;
import java.util.List;

public class TestGenerics
public static void main(String[] args)
List list = new ArrayList();
list.add(new int[] 1,2,3);
list.add(new int[] 4,5,6);
for (int[] is : list)
for (int is2 : is)
System.out.print(is2+” “);

System.out.println();

/*Output
1 2 3
4 5 6
*/

因此当传入基本类型的数组时,程序中是把int[]当做了参数化类型,因此当Arrays.asList()方法返回的是一个存储int[]类型的List。所以Arrays.asList()方法不能使用基本类型数组作为参数,只能使用相应的包装类型数组。

Reply
4
0
Chia sẻ

Clip arrays aslist 型指定 ?

Bạn vừa đọc Post Với Một số hướng dẫn một cách rõ ràng hơn về Clip arrays aslist 型指定 tiên tiến và phát triển nhất

Chia Sẻ Link Tải arrays aslist 型指定 miễn phí

Heros đang tìm một số trong những Chia SẻLink Download arrays aslist 型指定 Free.

Hỏi đáp vướng mắc về arrays aslist 型指定

Nếu Ban sau khi đọc nội dung bài viết arrays aslist 型指定 , bạn vẫn chưa hiểu thì hoàn toàn có thể lại Comment ở cuối bài để Admin lý giải và hướng dẫn lại nha
#arrays #aslist #型指定

Exit mobile version