java.lang.String.intern与java.lang.String.format的差异
时间: 2024-08-07 11:01:12 浏览: 60
`String.intern()` 和 `String.format()` 是 Java 中两个完全不同的 String 方法。
1. `String.intern()`: 这个方法是一个静态方法,用于优化字符串常量池。当你创建相同的字符串多次(例如,通过`new String("hello")`),JVM 实际上只会在内存中保留一份这样的字符串实例,其余的引用会指向同一个实例,这就是所谓的 intern 行为。如果你不确定某个字符串是否已经在常量池中,可以使用这个方法检查并获取共享的实例,这有助于节省内存。然而,`intern()` 方法不会改变原始字符串内容,它只是返回已经存在的字符串。
2. `String.format()`: 这是一个格式化字符串的方法,它接受一个模式字符串作为第一个参数,以及零个或多个对象作为后续参数,然后按照模式将这些对象插入到字符串中。比如,`String.format("%s is %d years old", "John", 30)` 会产生 "John is 30 years old" 这样的结果。`format()` 主要用于构建动态、格式化的文本输出,支持变量替换、格式控制等复杂操作。
阅读全文