java.lang.Integer.decode() 方法用于将字符串解码为整数。接受由以下语法给出的十进制、十六进制和八进制数字:
DecodableString:
- Signopt DecimalNumeral
- 签名opt 0x HexDigits
- 签名opt 0X HexDigits
- 签名opt # 十六进制数字
- 签名opt 0 八进制数字
签名:
- +
- -
可选符号和/或基数说明符("0x"、"0X"、"#"或前导)后面的字符序列零)由 Integer.parseInt 方法使用指定的基数(10、16 或 8)进行解析。该字符序列必须表示正值,否则将引发 NumberFormatException。如果指定字符串的第一个字符是减号,则结果取反。字符串中不允许有空格字符。
语法
public static Integer decode(String nm)
throws NumberFormatException
参数
nm | 指定要解码的字符串。 |
返回值
返回一个 Integer 对象,其中包含 nm 表示的 int 值。
异常
如果字符串不包含可解析的整数,则抛出NumberFormatException。
示例:
在下面的示例中,java.lang.Integer.decode()方法用于将字符串解码为整数。
import java.lang.*;
public class MyClass {
public static void main(String[] args) {
//创建一个保存int值的字符串
String x1 = "25"; //十进制数
String x2 = "0x6f"; //十六进制数
String x3 = "0X6B"; //十六进制数
String x4 = "-#6c"; //十六进制数
String x5 = "027"; //八进制数
//创建Integer对象
Integer y1 = Integer.decode(x1);
Integer y2 = Integer.decode(x2);
Integer y3 = Integer.decode(x3);
Integer y4 = Integer.decode(x4);
Integer y5 = Integer.decode(x5);
//打印Integer对象
System.out.println("The Integer object y1 is: " + y1);
System.out.println("The Integer object y2 is: " + y2);
System.out.println("The Integer object y3 is: " + y3);
System.out.println("The Integer object y4 is: " + y4);
System.out.println("The Integer object y5 is: " + y5);
}
}
输出上面的代码将是:
The Integer object y1 is: 25
The Integer object y2 is: 111
The Integer object y3 is: 107
The Integer object y4 is: -108
The Integer object y5 is: 23