// These two have the same value new String("test").equals("test") // --> true // ... but they are not the same object new String("test") == "test" // --> false // ... neither are these new String("test") == new String("test") // --> false // ... but these are because literals are interned by // the compiler and thus refer to the same object "test" == "test" // --> trueYou almost always want to use.equals(). In the rare situation where you know you're dealing with interned strings, you can use ==.
Thursday, September 17, 2015
Compare string
== tests for reference equality (whether they are the same object).
.equals() tests for value equality (whether they are logically "equal").
Consequently, if you want to test whether two strings have the same value you should use .equals().
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment