Java中String对象与String文本字面值有什么区别?
当用于创建String的String文本字面值,JVM最初会检查String常量池中是否存在相同值的String,如果有,它将创建一个对它的另一个引用,否则,创建一个新对象并将其存储在String常量池中。
对于一个对象,无论String常量池的内容如何,在你实例化类时每次都会创建一个具有新值的新对象。
广告
当用于创建String的String文本字面值,JVM最初会检查String常量池中是否存在相同值的String,如果有,它将创建一个对它的另一个引用,否则,创建一个新对象并将其存储在String常量池中。
对于一个对象,无论String常量池的内容如何,在你实例化类时每次都会创建一个具有新值的新对象。