要将 String 转换成基本数据型态转,大多需要使用基本数据型态的包装类别 ,具体有以下几种:
(1)byte: Byte.parseByte(String s) : 将 s 转换成 byte
(2)Byte.parseByte(Strings, int radix) : 以 radix 为基底 将 s 转换为 byte ,比如说 Byte.parseByte("11",16) 会得到 17
(3)double: Double.parseDouble(String s) : 将 s 转换成 double
(4)float: Float.parseFloat(String s) : 将 s 转换成 float
(5)int: Integer.parseInt(String s) : 将 s 转换成 int
(6)long: Long.parseLong(String s)
用法示例代码如下:
public class Demo {
public static void main(String[] args) {
String str;
//(1)byte : Byte.parseByte(String s) : 将 s 转换成 byte
// byte存值范围: -128 - 127,
// 因此当str的形式不在byte的取值范围内容时(如:128、a等内容),
// 程序将抛出NumberFormatException异常
str = "-127";
Byte resultB = Byte.parseByte(str);
System.out.println(resultB);
//(2)Byte.parseByte(String s, int radix) : 以 radix 为基底 将 s 转换为 byte ,比如说 Byte.parseByte("11", 16) 会得到 17
// byte存值范围: -128 - 127,
// 因此当str的形式中含有不是radix进制的数码(如十进制的数码有0-9)或转换后的值超出byte的范围(如:radix为10时,str中含有a或者为“129”),
// 程序将抛出NumberFormatException异常。
str = "11";
resultB = Byte.parseByte(str, 16);
System.out.println(resultB);
//(3)double : Double.parseDouble(String s) : 将 s 转换成 double
// str中内容不是Double型数据时(如:含有字符a),抛出异常
str = "1.23";
double resultD = Double.parseDouble(str);
System.out.println(resultD);
//(4)float : Float.parseFloat(String s) : 将 s 转换成 float
// str中内容不是float型数据时(如:含有字符a),抛出异常
str = "4.56";
float resultF = Float.parseFloat(str);
System.out.println(resultF);
//(5)int : Integer.parseInt(String s) : 将 s 转换成 int
// str中内容不是int型数据时(如:含有字符a),抛出异常
str = "789";
int resulti = Integer.parseInt(str);
System.out.println(resulti);
//(6)long : Long.parseLong(String s)
// str中内容不是long型数据时(如:含有字符a),抛出异常
str = "999";
long resultl = Integer.parseInt(str);
System.out.println(resultl);
}
}
运行结果: