在Java中, Integer.parseInt 是一个静态方法,用于将字符串转换为整数。这个方法定义在 java.lang.Integer 类中,属于Java的核心API。
以下是 Integer.parseInt 方法的一些基本用法:
1. 基本转换:
String numberStr = "123";
int number = Integer.parseInt(numberStr);
2. 指定进制: parseInt 方法还可以接受第二个参数,用于指定字符串的数制(基数)。例如,如果你想解析一个二进制、八进制或十六进制的字符串,可以这样做:
String binaryString = "1010"; // 二进制字符串
int decimalNumber = Integer.parseInt(binaryString, 2); // 转换为十进制数
String octalString = "17"; // 八进制字符串
int decimalNumberOctal = Integer.parseInt(octalString, 8); // 转换为十进制数
String hexString = "1A"; // 十六进制字符串
int decimalNumberHex = Integer.parseInt(hexString, 16); // 转换为十进制数
3. 异常处理: 如果传入的字符串不是有效的整数字符串,或者字符串表示的数值超出了 int 类型的范围( Integer.MIN_VALUE 到 Integer.MAX_VALUE ), parseInt 方法将抛出 NumberFormatException 。因此,通常需要捕获这个异常来处理错误情况:
String numberStr = "ABC";
try {
int number = Integer.parseInt(numberStr);
} catch (NumberFormatException e) {
System.out.println("字符串不能转换为整数: " + numberStr);
}
请注意, Integer.parseInt 方法解析的是十进制字符串,如果字符串以 "0x" 或 "0X" 开头,Java会将其视为十六进制数。如果字符串以 "0" 开头,Java会将其视为八进制数(这是Java 8及以前版本的行为,从Java 9开始,以 "0" 开头的字符串不再被解析为八进制数,而是十进制)。为了避免混淆,建议总是明确指定基数。