Java中字符串转基本类型主要用包装类的parseXxx()方法,如Integer.parseInt();需用try-catch处理NumberFormatException;null/空串须提前校验;char需用charAt(0)并处理长度异常;parseInt比valueOf更轻量,推荐优先使用。

Java 中将字符串转换为基本数据类型,主要通过对应包装类的静态方法实现,例如 Integer.parseInt()、Double.parseDouble() 等。这些方法返回的是对应的基本类型值(不是对象),但要注意处理可能的异常和空/非法输入。
使用包装类的 parseXxx() 方法
这是最常用、最直接的方式,每个基本类型(除 char 外)都有对应的包装类提供静态解析方法:
-
int←Integer.parseInt("123") -
double←Double.parseDouble("3.14") -
boolean←Boolean.parseBoolean("true")(注意:非 "true" 字符串均返回false) -
long←Long.parseLong("9876543210") -
float←Float.parseFloat("2.5f") -
short←Short.parseShort("100") -
byte←Byte.parseByte("127")
⚠️ 注意:parseXxx() 方法遇到 null、空字符串或格式错误时会抛出 NumberFormatException,务必用 try-catch 包裹。
处理 null 和空字符串的安全写法
生产环境中不能假设字符串一定合法,推荐封装工具方法或提前校验:
立即学习“Java免费学习笔记(深入)”;
- 先检查
str == null || str.trim().isEmpty() - 对数字类型,可配合正则粗略验证(如
str.matches("-?\d+")判断是否为整数格式) - 或使用第三方库如 Apache Commons Lang 的
NumberUtils(例如NumberUtils.toInt(str, defaultValue))
char 类型的特殊处理
字符串转 char 没有直接的 parse 方法,因为 char 对应单个字符:
- 若字符串长度为 1,可用
str.charAt(0) - 若字符串为空或长度不为 1,需自行定义策略(抛异常、取首字符、返回默认值等)
自动装箱与类型选择提醒
虽然 Integer.valueOf("123") 返回的是 Integer 对象,但在赋值给 int 变量时会自动拆箱;但要注意:
-
parseInt()更轻量(不涉及对象创建),推荐优先使用 -
valueOf()有缓存机制(-128~127 的 Integer 对象复用),适合需要对象引用的场景 - 避免对大量字符串反复调用,尤其在循环中——提前校验和异常处理能显著提升健壮性


















