为什么这是错误?
String str1 = new String("Java ");
String str2 = str1;
System.out.println(str1.trim()==str2.trim()); //false
最初 str2
引用 str1
对象。因此,与 == 进行比较将返回 true str1==str2
那为什么 .trim()
方法的结果是 false 呢?
即使它对文字返回 false(没有 new 关键字)
String str1 = "Java "; //this is now without new keyword
String str2 = str1;
System.out.println(str1.trim()==str2.trim());
注意:我知道如何使用 .equals
方法。但想知道 ==
行为,特别是在 .trim() 的情况下,上面给出了两个示例。
最佳答案
使用 equal 代替 ==
System.out.println(str1.equals(str2.trim()));
关于java - String.trim() 对于相同引用的对象返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16010339/