如何用一行代码将Java中的Integer ArrayList转换为int数组
将Integer类型ArrayList转换为int数组(Java)
这里提供几种实用的转换方法,针对你的示例代码实现需求:
方法1:Java 8+ Stream流(推荐简洁写法)
利用Stream API可以快速完成转换,代码简洁高效:
import java.util.ArrayList; public class Main { public static void main(String[] args) { ArrayList<Integer> arrlist = new ArrayList<>(5); arrlist.add(10); arrlist.add(20); arrlist.add(30); arrlist.add(40); // 转换为int数组 int[] intArray = arrlist.stream().mapToInt(Integer::intValue).toArray(); // 打印期望格式的结果 System.out.print("["); for (int i = 0; i < intArray.length; i++) { System.out.print(intArray[i]); if (i != intArray.length - 1) { System.out.print(", "); } } System.out.println("]"); } }
运行后输出:
[10, 20, 30, 40]
方法2:手动遍历转换(兼容低版本Java)
如果你的项目使用Java 8之前的版本,可以手动拆箱赋值:
import java.util.ArrayList; public class Main { public static void main(String[] args) { ArrayList<Integer> arrlist = new ArrayList<>(5); arrlist.add(10); arrlist.add(20); arrlist.add(30); arrlist.add(40); // 创建对应长度的int数组 int[] intArray = new int[arrlist.size()]; // 遍历赋值,Integer自动拆箱为int for (int i = 0; i < arrlist.size(); i++) { intArray[i] = arrlist.get(i); } // 打印期望格式的结果 System.out.print("["); for (int i = 0; i < intArray.length; i++) { System.out.print(intArray[i]); if (i != intArray.length - 1) { System.out.print(", "); } } System.out.println("]"); } }
方法3:使用第三方工具类(Apache Commons Lang)
如果项目中已经引入Apache Commons Lang库,可以用ArrayUtils简化操作:
import java.util.ArrayList; import org.apache.commons.lang3.ArrayUtils; public class Main { public static void main(String[] args) { ArrayList<Integer> arrlist = new ArrayList<>(5); arrlist.add(10); arrlist.add(20); arrlist.add(30); arrlist.add(40); // 转换为int数组 int[] intArray = ArrayUtils.toPrimitive(arrlist.toArray(new Integer[0])); // 打印期望格式的结果 System.out.print("["); for (int i = 0; i < intArray.length; i++) { System.out.print(intArray[i]); if (i != intArray.length - 1) { System.out.print(", "); } } System.out.println("]"); } }
注意:需要确保项目中已引入Apache Commons Lang的依赖包。
内容的提问来源于stack exchange,提问作者sadu-sadd
相关产品推荐
相关产品推荐

