Java的string 转换成 integer的方式及原理

在Java中,可以使用Integer.parseInt()方法将字符串转换为整数。

Integer.parseInt()方法接受一个字符串参数,并尝试将其解析为整数。如果字符串可以成功解析为整数,则返回解析后的整数值。如果无法解析为整数,则会抛出NumberFormatException异常。

该方法的原理是遍历字符串中的每个字符,并将其转换为对应的数字。具体步骤如下:

  • 如果字符串以正号 (+) 或负号 (-) 开头,则将其作为符号位,并记录正负号。
  • 遍历字符串中的每个字符:
    • 通过ASCII码将字符转换为对应的数字。
    • 将数字乘以10,并加上当前字符的数字值,以便计算下一个数字的位数。
  • 如果字符串以非数字字符结尾,则结束转换,并返回之前计算的整数值。
  • 如果字符串中存在非数字字符,则抛出NumberFormatException异常。

以下是一个示例,将字符串 "123" 转换为整数的过程:

java 复制代码
String str = "123";
int num = Integer.parseInt(str);
System.out.println(num);  // 输出: 123

在这个示例中,Integer.parseInt()方法将字符串"123"解析为整数123,并将其赋值给变量num。最后输出num的值为123。

相关推荐
架构师沉默1 天前
设计多租户 SaaS 系统,如何做到数据隔离 & 资源配额?
java·后端·架构
Java中文社群1 天前
重要:Java25正式发布(长期支持版)!
java·后端·面试
每天进步一点_JL1 天前
JVM 类加载:双亲委派机制
java·后端
用户298698530141 天前
Java HTML 转 Word 完整指南
java·后端
渣哥1 天前
原来公平锁和非公平锁差别这么大
java
渣哥1 天前
99% 的人没搞懂:Semaphore 到底是干啥的?
java
J2K1 天前
JDK都25了,你还没用过ZGC?那真得补补课了
java·jvm·后端
kfyty7251 天前
不依赖第三方,不销毁重建,loveqq 框架如何原生实现动态线程池?
java·架构
isysc11 天前
面了一个校招生,竟然说我是老古董
java·后端·面试
道可到1 天前
Java 反射现代实践速查表(JDK 11+/17+)
java