转换ArrayList<;整数>;变成整数[]元';我不能用Java工作

转换ArrayList<;整数>;变成整数[]元';我不能用Java工作,java,arraylist,int,Java,Arraylist,Int,我一直在开发一个程序,其中我必须将ArrayList转换为int[]。我在运行代码时没有收到任何语法错误。但是,当我打印int[]以查看它是否有效时,它会打印出一个随机字符串,该字符串为“[I@2a139a55“我怎样才能解决这个问题 我无法从一开始就使用int[]。此程序必须将ArrayList转换为int[] ArrayList<Integer> student_id = new ArrayList<Integer>(); student

我一直在开发一个程序,其中我必须将ArrayList转换为int[]。我在运行代码时没有收到任何语法错误。但是,当我打印int[]以查看它是否有效时,它会打印出一个随机字符串,该字符串为“[I@2a139a55“我怎样才能解决这个问题

我无法从一开始就使用int[]。此程序必须将ArrayList转换为int[]

        ArrayList<Integer> student_id = new ArrayList<Integer>();
       student_id.add(6666);
       student_id.add(7888);    

       int[] student_id_array = new int[student_id.size()];
       for (int i=0, len = student_id.size(); i < len; i ++){
            student_id_array[i] = student_id.get(i);
       }
       System.out.println(student_id_array);
ArrayList student_id=new ArrayList();
学生证号(6666);
学生证号(7888);
int[]student_id_array=新int[student_id.size()];
for(int i=0,len=student_id.size();i
您正在打印对数组的引用。使用
数组。toString(int[])
您正在打印对数组的引用。使用
数组。toString(int[])
您可以在Java 8中用一行代码将
数组列表
转换为
int[]

int[] student_id_array = student_id.stream().mapToInt(id -> id).toArray();
如果您想输出数组的值而不是数组的表示形式(如
[I@2a139a55
)使用
数组。toString()
方法:

System.out.println(Arrays.toString(student_id_array));

您可以使用Java 8中的一行代码将
ArrayList
转换为
int[]

int[] student_id_array = student_id.stream().mapToInt(id -> id).toArray();
如果您想输出数组的值而不是数组的表示形式(如
[I@2a139a55
)使用
数组。toString()
方法:

System.out.println(Arrays.toString(student_id_array));

这是因为您正在打印该阵列的内存地址

试试这个:

   ArrayList<Integer> student_id = new ArrayList<Integer>();
   student_id.add(6666);
   student_id.add(7888);    

   int[] student_id_array = new int[student_id.size()];
   for (int i=0, len = student_id.size(); i < len; i ++){
        student_id_array[i] = student_id.get(i);
   }
   System.out.println(student_id_array[0]+" "+student_id_array[1]);

或者,如果以后填充
数组列表,请使用
for loop

这是因为您正在打印该数组的内存地址

试试这个:

   ArrayList<Integer> student_id = new ArrayList<Integer>();
   student_id.add(6666);
   student_id.add(7888);    

   int[] student_id_array = new int[student_id.size()];
   for (int i=0, len = student_id.size(); i < len; i ++){
        student_id_array[i] = student_id.get(i);
   }
   System.out.println(student_id_array[0]+" "+student_id_array[1]);

如果以后填充
ArrayList
,请使用
for loop

您不能直接打印数组。您必须使用
System.out.println(java.util.Arrays.toString(student_id_array));
可能的副本无法直接打印数组。您必须使用
System.out.println(java.util.Arrays.toString(student_id_array));
尼斯流用法的可能重复:DNice流用法:D