什么是Integer.parseInt()源码
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章将为大家详细讲解有关什么是Integer.parseInt()源码,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。character.digit
千家信息网最后更新 2026年11月02日什么是Integer.parseInt()源码
这篇文章将为大家详细讲解有关什么是Integer.parseInt()源码,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
character.digit(char ch, int radix) 将radix进制的ch转化成十进制数;
character.digit(int codePoint, int radix) 将radix进制的askll码对应的char转化成十进制数。
例:String s=2147483648
result初始值为0,
limit= -Integer.MAX_VALUE,即 -2147483647,
上一个result和limit比较,排除21474836471这种越界的情况
result*10和limit+当前位比较,排除2147483648这种越界的情况(-2147483640<-2147483647+8)
result-=当前位
public static int parseInt(String s) throws NumberFormatException { return parseInt(s,10); } public static int parseInt(String s, int radix) throws NumberFormatException { if (s == null) { throw new NumberFormatException("null"); } if (radix < Character.MIN_RADIX) { throw new NumberFormatException("radix " + radix + " less than Character.MIN_RADIX"); } if (radix > Character.MAX_RADIX) { throw new NumberFormatException("radix " + radix + " greater than Character.MAX_RADIX"); } int result = 0; boolean negative = false; int i = 0, len = s.length(); int limit = -Integer.MAX_VALUE; int multmin; int digit; if (len > 0) { char firstChar = s.charAt(0); if (firstChar < '0') { // Possible leading "+" or "-" if (firstChar == '-') { negative = true; limit = Integer.MIN_VALUE; } else if (firstChar != '+') throw NumberFormatException.forInputString(s); if (len == 1) // Cannot have lone "+" or "-" throw NumberFormatException.forInputString(s); i++; } multmin = limit / radix; while (i < len) { // Accumulating negatively avoids surprises near MAX_VALUE digit = Character.digit(s.charAt(i++),radix); if (digit < 0) { throw NumberFormatException.forInputString(s); } //防止长度越界 if (result < multmin) { throw NumberFormatException.forInputString(s); } result *= radix; //防止大小越界 if (result < limit + digit) { throw NumberFormatException.forInputString(s); } result -= digit; } } else { throw NumberFormatException.forInputString(s); } return negative ? result : -result; }关于什么是Integer.parseInt()源码就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
源码
内容
十进制
情况
文章
更多
知识
篇文章
进制
十进
不错
大小
质量
长度
参考
帮助
有关
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
手磨咖啡
互联网为科技
互联网金融与金融科技
深圳互联网科技公司
致骋互联网科技
广州紫鲸互联网科技
甘肃拓世互联网科技有限公司
互联网公司会议桌创意科技软装饰
互联网科技公司需要的职位
互联网科技与管理
互联网公司科技股
湖北码尼互联网科技有限公司电话
赶超互联网科技 微信多开
互联网行业科技股
互联网公司高科技产品
广东工业互联网大赛深圳学泰科技
互联网科技快讯热点
风投北京互联网科技
半导体行业属于互联网高科技类吗
信承诺互联网科技有限公司
深圳互联网科技公司
互联网 卓越科技
广州凡科互联网科技
伴你行互联网科技有限公司
居家互联网科技有限公司
无锡溥仪互联网科技有限公司
青海省互联网新科技
济南和联互联网科技有限公司
创业天下互联网科技有限公司
互联网科技革命什么开始