You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java中如何将Integer列表的所有值合并为单个Integer类型变量

解决方案

方法1:字符串拼接转换实现

逻辑简单易理解,适合列表元素均为个位数的场景:

import java.util.ArrayList;
import java.util.List;

public class MergeIntegerList {
    public static void main(String[] args) {
        List<Integer> numeros = new ArrayList<>();
        numeros.add(1);
        numeros.add(2);
        numeros.add(3);
        numeros.add(4);
        
        // 遍历拼接所有元素为字符串
        StringBuilder sb = new StringBuilder();
        for (Integer num : numeros) {
            sb.append(num);
        }
        // 转换为Integer类型,若拼接后数值超过Integer范围请改用Long或BigInteger
        Integer num = Integer.valueOf(sb.toString());
        
        System.out.println(num); // 输出1234
    }
}

方法2:数学运算迭代实现

无需字符串转换,执行效率更高:

import java.util.ArrayList;
import java.util.List;

public class MergeIntegerList {
    public static void main(String[] args) {
        List<Integer> numeros = new ArrayList<>();
        numeros.add(1);
        numeros.add(2);
        numeros.add(3);
        numeros.add(4);
        
        Integer num = 0;
        for (Integer n : numeros) {
            // 每次将当前结果乘10(十进制左移一位)再加上当前元素
            num = num * 10 + n;
        }
        
        System.out.println(num); // 输出1234
    }
}

注意:两种方案都需要考虑数值溢出问题,Integer的最大值为2147483647,如果合并后的结果超过该值,会抛出溢出异常,该场景下建议使用Long或BigInteger类型存储结果。

内容的提问来源于stack exchange,提问作者Coding 4fun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 17:06:05