开篇:String 为什么如此特殊?
在 Java 的世界里,如果要评选"最常用的类",String 一定高票当选。从你写下第一行 System.out.println("Hello World") 开始,字符串就如影随形——拼接日志、构建 SQL、传递参数、校验密码,几乎所有业务逻辑都离不开它。
但正因为太常用,很多人对 String 的理解停留在"会用"层面,却忽略了它背后精妙的设计:为什么它是不可变的?常量池到底怎么工作?== 和 equals 为什么有时结果不同?再加上基本类型与包装类的自动拆装箱"暗坑"、浮点数的精度陷阱……这些问题串起来,就构成了 Java 类型系统最核心也最容易踩坑的知识图谱。这篇文章,我们就来一次性讲透。
大约 21 分钟