最推荐使用 string.valueof(),因其通用、安全且能优雅处理 null;包装类 tostring() 方法不支持 null;字符串拼接 + "" 语义不清且对 null 处理隐式。

Java 中把基本数据类型转成字符串,有几种常用且安全的方式,日常开发中选哪种主要看可读性、性能要求和是否需要处理 null。
用 String.valueOf() 最推荐
这是最通用、最稳妥的方法。它对所有基本类型(int、double、boolean、char 等)都有效,而且能优雅处理 null —— 传入 null 时返回字符串 "null",不会抛空指针异常。
-
String.valueOf(123)→"123" -
String.valueOf(3.14)→"3.14" -
String.valueOf(true)→"true" -
String.valueOf(null)→"null"(注意不是抛异常)
用 包装类的 toString() 方法
每个基本类型的包装类(如 Integer、Double、Boolean)都提供了静态的 toString() 方法,效果和 String.valueOf() 类似,但不支持 null 参数(传 null 会报 NullPointerException)。
-
Integer.toString(456)→"456" -
Double.toString(2.718)→"2.718" -
Boolean.toString(false)→"false"
用 字符串拼接 + ""
写法最简,比如 123 + "",JVM 会在底层调用 String.valueOf(),所以结果一致。但语义不够清晰,也不建议用于日志或关键字段拼接(易被误读为“加法”),且对 null 不友好:null + "" 得到的是 "null",虽可用但属于隐式行为,可读性差。
其他情况说明
不建议用构造器(如 new Integer(123).toString())或已过时方式(如 new String("" + 123)),既低效又冗余。JDK 5 以后自动装箱已优化,无需手动 new 包装类。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











