如何将字符串转换为int数组?附输入输出示例
将纯数字字符串转换为int数组(Java)
方法1:逐字符遍历转换
适合理解底层逻辑,直接遍历字符串每个字符,通过ASCII码差值转换为对应数字:
String numbersStr = "123456"; int[] numbersArr = new int[numbersStr.length()]; for (int i = 0; i < numbersStr.length(); i++) { // 字符'0'的ASCII码为48,用目标字符ASCII码减去'0'的码值得到对应数字 numbersArr[i] = numbersStr.charAt(i) - '0'; }
方法2:Java 8+ 流式处理(简洁写法)
利用Java流API实现紧凑的一行式转换:
String numbersStr = "123456"; int[] numbersArr = numbersStr.chars() .map(c -> c - '0') .toArray();
针对拆分场景的额外处理
如果目标字符串是从混合内容中拆分而来(比如原字符串含非数字字符),可以先过滤掉非数字字符再转换:
// 示例:拆分后字符串含非数字字符 String splitStr = "x1y2z3456"; int[] numbersArr = splitStr.chars() .filter(Character::isDigit) // 只保留数字字符 .map(c -> c - '0') .toArray(); // 结果:{1,2,3,4,5,6}
内容的提问来源于stack exchange,提问作者Miroslav.Jur
相关产品推荐
相关产品推荐

