parseXxx方法直接返回基本类型值,轻量高效;需严格格式匹配,否则抛NumberFormatException;支持多进制解析,但不自动trim空格;与valueOf不同,后者返回缓存的包装对象。

Java 中的包装类(如 Integer、Double、Boolean 等)提供了静态的 parseXxx 方法,用于将符合格式的字符串直接解析为对应的基本数据类型值(如 int、double、boolean)。这些方法不返回包装类对象,而是返回原始类型值,因此更轻量、更常用。
常用 parseXxx 方法及对应类型
每个基本类型(除 char 外)都有对应的包装类和 parseXxx 方法:
-
Integer.parseInt("123")→ 返回int -
Double.parseDouble("3.14")→ 返回double -
Boolean.parseBoolean("true")→ 返回boolean(注意:非 "true" 字符串均返回false) -
Long.parseLong("9876543210")→ 返回long -
Float.parseFloat("2.5f")→ 返回float -
Short.parseShort("123")→ 返回short -
Byte.parseByte("127")→ 返回byte
注意格式与异常处理
这些方法对输入字符串格式敏感,非法格式会抛出 NumberFormatException。例如:
-
Integer.parseInt("abc")→ 抛出异常 -
Integer.parseInt("12.3")→ 抛出异常(含小数点) -
Integer.parseInt(" 123 ")→ 抛出异常(含前后空格,不自动 trim) -
Integer.parseInt("")或null→ 抛出异常
实际使用时建议配合 try-catch,或先校验再解析:
立即学习“Java免费学习笔记(深入)”;
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
String s = "456";
int value;
try {
value = Integer.parseInt(s.trim()); // 先 trim 避免空格问题
} catch (NumberFormatException e) {
value = 0; // 或抛出自定义异常、记录日志等
}
parseXxx 和 valueOf 的区别
别混淆这两个方法:
-
Integer.parseInt("123")→ 返回int(基本类型) -
Integer.valueOf("123")→ 返回Integer对象(内部也调用parseInt,但还会做缓存优化)
如果只需要数值计算,优先用 parseXxx;如果需要传入泛型容器(如 List<Integer>),才用 valueOf。
特殊说明:Boolean.parseBoolean
这个方法行为较特殊:
- 只有字符串 严格等于
"true"(忽略大小写)时返回true - 其余所有情况(包括
"false"、"1"、""、null)都返回false
若需更严格的布尔解析(如支持 "false" 显式转为 false),建议手动判断或使用第三方库(如 Apache Commons Lang 的 BooleanUtils.toBoolean())。

















