最高效方式是直接调用包装类的parseXxx()方法;数值类型需trim()并捕获NumberFormatException,Boolean.parseBoolean仅"true"返回true,char需charAt(0)且判空。

Java 中 String 转基本数据类型,最高效的方式是直接调用对应包装类的 parseXxx() 静态方法——它不创建对象、不涉及装箱拆箱,一步到位返回基本类型值。
String → 数值类型(int/long/float/double 等)
所有数值型包装类都提供对应的解析方法,输入合法字符串即可得到原始类型值:
-
Integer.parseInt("123")→int -
Long.parseLong("999999999999")→long -
Double.parseDouble("3.14159")→double -
Float.parseFloat("2.5f")→float -
Short.parseShort("123")→short,Byte.parseByte("88")→byte
注意:这些方法不接受 null,也不接受空串或含空白符的字符串(如 " 123 "),需提前 trim();非法格式或超范围会抛出 NumberFormatException。
String → boolean
用 Boolean.parseBoolean(String),但要注意它的行为特殊:
- 仅当字符串(忽略大小写)等于
"true"时返回true - 其他任何值(包括
"false"、"FALSE"、""、"null")都返回false
如需严格按字面值解析(比如把 "false" 当作 false),建议用 Boolean.valueOf(str).booleanValue() 或手动判断。
String → char
没有 Character.parseChar() 方法。正确做法是先转为字符数组,再取首字符(确保长度 ≥ 1):
str.length() == 1 ? str.charAt(0) : throw new IllegalArgumentException(...)- 或更安全:
str.toCharArray()[0](需判空)
不能用 Character.toString() 反向操作——那是 char → String。
异常处理与健壮性建议
生产代码中不建议裸用 parseXxx(),推荐封装一层容错逻辑:
- 对
null或空串做前置校验 - 用
try-catch捕获NumberFormatException,避免崩溃 - 需要默认值时,可结合
Optional或自定义工具方法,例如:public static int parseIntOrDefault(String s, int defaultValue) {return s == null || s.trim().isEmpty() ? defaultValue :try { return Integer.parseInt(s.trim()); }catch (NumberFormatException e) { return defaultValue; }}
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











