添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
//list转为数组 public class Main { public static void main(String[] args) { // 1.一维字符串list转为数组 List<String> list1= new ArrayList<> (); list1.add( "hello" ); list1.add( "world" ); list1.add( "!" ); String[] strings = new String[3 ]; strings =list1.toArray( new String[0]); // 传入参数,表示强转 //2.一维数字list转为数组 List<Integer> list2= new ArrayList<> (); list2.add( 1 ); list2.add( 2 ); list2.add( 3 ); int [] arr= new int [3 ]; // 下一行代码是仿照String类型写的。但是报错'toArray(T[])' in 'java.util.List' cannot be applied to '(int[])' // 原因: toArray()方法应该传入的参数T是泛型,但是泛型必须是引用类型,不能是基本类型(比如int) // arr=list.toArray(new int[0]); //解决方法1:采用流式处理Stream进行处理 arr= list2.stream().mapToInt(Integer::valueOf).toArray();
//解决方法2:声明一个Integer类型的数组 Integer[] arr2= new Integer[3 ]; arr2 =list2.toArray( new Integer[0 ]);
for ( int num:arr) System.out.println(num); // 1 2 3 for ( int num:arr2) System.out.println(num); // 1 2 3 // 3.二维数字list转为数组 List< int []> list3= new ArrayList<> (); list3.add( new int []{0,111 }); list3.add( new int []{1,222 }); // 这里的泛型T为:int[],是引用类型,所以不会报错 int [][] arr2D=list3.toArray( new int [0][0 ]); for ( int [] n:arr2D) System.out.println(n[ 0]+" " +n[1]); // 0 111 1 222