首页 > 代码库 > "text"和new String("text")的区别

"text"和new String("text")的区别

转自:What is the difference between “text” and new String(“text”)?

 

new String("text"); explicitly creates a new and referentially distinct instance of a Stringobject; String s = "text"; may reuse an instance from the string constant pool if one is available.

You very rarely would ever want to use the new String(anotherString) constructor.

From the API:

String(String original) : Initializes a newly created String object so that it represents the same sequence of characters as the argument; in other words, the newly created string is a copy of the argument string. Unless an explicit copy of original is needed, use of this constructor is unnecessary since strings are immutable.

"text"和new String("text")的区别