java中string转基本类型的核心是使用包装类parsexxx()静态方法(如integer.parseint()),需判空、校验格式并捕获numberformatexception;boolean.parseboolean()仅对"true"返回true,其余非null字符串均返回false。

Java 中 String 转基本数据类型,核心是使用对应包装类的 parseXxx() 静态方法(如 Integer.parseInt()),或 valueOf() 方法。注意空值、格式错误会抛出异常,需提前校验。
转 int / long / short / byte
用 Integer.parseInt()、Long.parseLong() 等,支持带符号十进制数字字符串;可选指定进制(如二进制、十六进制)。
-
int i = Integer.parseInt("123");→ 正常转换 -
long l = Long.parseLong("0xFF", 16);→ 按十六进制解析,结果为 255 - 字符串含空格、字母、小数点或为空时会抛
NumberFormatException - 建议先用
str != null && !str.trim().isEmpty()判空,再尝试转换
转 double / float
Double.parseDouble() 和 Float.parseFloat() 可处理科学计数法、正负号、小数点,但不接受 "NaN" 或 "Infinity" 字面量(除非是标准字符串形式)。
Java项目代码review工具。分析Git变更+完整调用链路上下文,推断业务需求,进行多维度评分和分类汇总,生成完整PRD文档。包含细粒度Java代码审查清单(Null安全、异常处理、Streams、并发、equals/hashCode、资源管理、API设计、性能、MyBatis/ORM、事务边界、SQL/DD...
double d = Double.parseDouble("3.1415");-
float f = Float.parseFloat("-2.5e-3");→ -0.0025 - 空串、"null"、乱码会直接抛异常;可用
Double.isFinite()后续验证是否为有效有限值
转 boolean
只有忽略大小写的 "true" 才转为 true,其余非 null 字符串(包括 "false"、"FALSE"、""、"0")都返回 false —— 这是 Boolean.parseBoolean() 的设计行为。
-
boolean b1 = Boolean.parseBoolean("True");→ true -
boolean b2 = Boolean.parseBoolean("false");→ false(不是异常!) - 若业务需要严格区分 "true"/"false",应手动判断:
"true".equalsIgnoreCase(str)
转 char 和其他类型
String 不能直接转单个 char,需确保长度为 1,再调用 charAt(0);而 char 对应的包装类 Character 没有 parseChar() 方法。
if (str.length() == 1) { char c = str.charAt(0); }- 转
byte、short等,仍用对应包装类的parseXxx(),本质仍是数值解析 - 没有直接转
void或void类型——基本类型就这八种,String 只能转其中七种(void不是基本类型)
不复杂但容易忽略边界情况:空指针、空白字符、进制混淆、布尔语义歧义。实际开发中建议封装工具方法,统一处理异常和默认值。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










