String 怎么转成 Integer 的?并分析一下底层原理是什么?
时间: 2024-09-11 15:06:05 浏览: 33
PHP STRING 陷阱原理说明
在 Java 中,你可以使用 `Integer.parseInt()` 或 `Integer.valueOf()` 方法将 `String` 转换为 `Integer`。以下是这两种方法的基本用法:
```java
// 使用 parseInt()
int numAsInt = Integer.parseInt("123");
// 使用 valueOf()
Integer numAsObject = Integer.valueOf("123");
```
底层原理主要是通过解析器(parser)将 `String` 中的字符序列解码为数值。这里的关键步骤包括:
1. **检查边界**:方法会先检查输入字符串是否为空,或者是否只包含有效的数字字符。
2. **读取数字**:从字符串开始,逐个字符读取,直到遇到非数字字符(如空格、逗号或换行符)。如果所有字符都是数字,则整个字符串都会被解析。
3. **处理正负数**:如果第一个字符是 `-` 或 `+`,那么它会被视为正负号。如果没有它,那么默认为正数。
4. **计算值**:将读取到的所有数字字符转换为整数值,然后返回结果。
5. **异常处理**:如果输入字符串无法解析为有效的整数,会抛出 `NumberFormatException` 异常。
阅读全文