List 转换成数组
使用 List 的 toArray() 方法转换成 Object 数组
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class ListArrayTest {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("北京");
list.add("上海");
System.out.println("List: " + list);
Object[] arr = list.toArray();
System.out.println("数组:" + arr);
System.out.println("数组内容:" + Arrays.toString(arr));
}
}
使用 List 的
T[] toArray(T[] a) 方法转换成同类型数组
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class ListArrayTest {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("北京");
list.add("上海");
System.out.println("List: " + list);
String[] arr = new String[list.size()];
String[] arr2 = list.toArray(arr);
System.out.println( "arr 和 arr2 是否相同:" + (arr == arr2) );
System.out.println("数组内容:" + Arrays.toString(arr));
System.out.println("数组内容:" + Arrays.toString(arr2));
}
}
运行结果:
List: [北京, 上海]
arr 和 arr2 是否相同:true
数组内容:[北京, 上海]
数组内容:[北京, 上海]
如果参数中的数组长度不足,toArray 函数不会填充作为参数的数组,而是新建一个数据填充,然后返回:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class ListArrayTest {
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("北京");
list.add("上海");
System.out.println("List: " + list);
String[] arr = new String[0];
String[] arr2 = list.toArray(arr);
System.out.println( "arr 和 arr2 是否相同:" + (arr == arr2) );
System.out.println("数组内容:" + Arrays.toString(arr));
System.out.println("数组内容:" + Arrays.toString(arr2));
}
}
结果:
List: [北京, 上海]
arr 和 arr2 是否相同:false
数组内容:[]
数组内容:[北京, 上海]
数组转换为 List
import java.util.Arrays;
import java.util.List;
public class ListArrayTest {
public static void main(String[] args) {
String[] arr = new String[] {"北京", "上海"};
List<String> list = Arrays.asList(arr);
System.out.println("数组内容:" + Arrays.toString(arr));
System.out.println("List: " + list);
}
}
运行结果:
数组内容:[北京, 上海]
List: [北京, 上海]