Why is this false?
String str1 = new String("Java ");
String str2 = str1;
System.out.println(str1.trim()==str2.trim()); //false
Initially str2
was referencing str1
object. So, comparing with == will return true for str1==str2
Then why is this false with .trim()
method?
Even it returns false for literals (without new keyword)
String str1 = "Java "; //this is now without new keyword
String str2 = str1;
System.out.println(str1.trim()==str2.trim());
Note: I know how to use .equals
method. But want to know ==
behavior especially in case of .trim() with above given two example.