java中parsexxx方法是将字符串安全转为基本类型的最常用方式,定义在包装类中,如parseint、parsedouble等,参数为字符串,合法时返回对应基本类型值,非法时抛numberformatexception;支持进制转换(如parseint(s,radix)),且必须用try-catch处理异常;与valueof区别在于前者返回基本类型,后者返回包装类对象并可能利用缓存。

Java 中使用包装类的 parseXxx 方法,是将符合格式的字符串安全转为对应基本类型最常用的方式。这些方法定义在各基本类型对应的包装类中(如 Integer、Double 等),统一以 parse 开头,后接类型名首字母大写,例如 parseInt、parseBoolean。
常见 parseXxx 方法及用法
每个方法都接收一个字符串参数,成功时返回对应的基本类型值;若字符串格式不合法(如含非数字字符、空字符串、null),则抛出 NumberFormatException。
-
Integer.parseInt("123")→ 返回int值123 -
Double.parseDouble("3.14")→ 返回double值3.14 -
Boolean.parseBoolean("true")→ 返回boolean值true(注意:仅对不区分大小写的 "true" 返回 true,其余都为 false) -
Long.parseLong("9876543210")→ 返回long值 -
Float.parseFloat("2.5f")→ 支持带f或F后缀的浮点字面量形式
处理进制转换(以 parseInt 为例)
Integer.parseInt(String s, int radix) 支持按指定进制解析字符串,适用于十六进制、二进制等场景:
-
Integer.parseInt("FF", 16)→ 返回255 -
Integer.parseInt("1010", 2)→ 返回10 - 进制范围必须是 2–36,超出会抛出
NumberFormatException
务必注意异常处理
这些方法不会返回 null 或默认值,遇到非法输入直接抛异常,所以生产代码中应包裹 try-catch:
错误示范:int age = Integer.parseInt(userInput); // 若 userInput 是 "abc",程序崩溃
推荐写法:
try {
int age = Integer.parseInt(userInput);
System.out.println("年龄:" + age);
} catch (NumberFormatException e) {
System.out.println("输入不是有效整数,请重新输入");
}
parseXxx 和 valueOf 的区别
二者都用于字符串转基本类型或其包装类,但返回类型不同:
-
parseInt返回int(基本类型) -
valueOf返回Integer(包装类对象),内部会调用parseInt,还可能利用缓存(如Integer.valueOf(100)可能复用已有对象) - 如果后续需要对象(如放进
Collection),优先用valueOf;只需基本类型值,parseXxx更直观
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











