Java中int[]和Integer[],int和Integer之间的转换

436 阅读1分钟
  • int[]转ArrayList

方法1:for循环

int[] nums = {1,3,5,7,9};
Integer[] integers = new Integer[nums.length];
for (int i = 0; i < nums.length; i++) {
    integers[i]=nums [i];
}

方法2:流式编程

int[] nums = {1,3,5,7,9};
Integer[] integers=Arrays.stream(nums).boxed().toArray(Integer[]::new);
  • ArrayList转int[]

方法1:for循环

//1.先创建一个和 list等长的 int数组 

int[] arr = new int[list.size()]; 
for(int i = 0; i<list.size(); i++)
{ //2.调用方法 
    arr[i] = list.get(i); 
}

方法2:使用IntStream(java8新特性)

// 想要转换成int[]类型,就得先转成IntStream
// 这里就通过mapToInt()把Stream<Integer>调用Integer::valueOf来转成IntStream
// 而IntStream中默认toArray()转成int[]。

int[] arr = list.stream().mapToInt(Integer::valueOf).toArray();
  • int到Integer

int a=3;  
方法1
Integer A=new Integer(a);
方法2
Integer A=Integer.valueOf(a);
  • Integer到int

Integer A=new Integer(5);
int a=A.intValue();