一、String类的基本特性
String类在Java中具有独特性,其对象存储在字符串常量池中以提升内存效率。当通过字面量创建字符串时(如String s = "hello";),JVM会优先检查常量池是否存在相同内容,若存在则直接引用,否则创建新对象并存入池中。这种机制使得相同内容的字符串在内存中仅保留一份实例。
通过new关键字创建的字符串(如String s = new String("hello");)会在堆内存中生成新对象,即使内容相同也不会复用常量池中的实例。这种差异在性能敏感的场景中需要特别注意,例如循环中频繁创建字符串时,应优先使用字面量方式。
// 格式化带参数的消息
MessageFormat format = new MessageFormat(bundle.getString("user.info"));
String result = format.format(new Object[]{"Alice", 25});
典型资源文件内容(Messages_zh_CN.properties):