java - String.trim() 对于相同引用的对象返回 false

标签 java

为什么这是错误

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/

相关文章:

java - REST 请求期间 HTTP 状态 500

java - Observablelist 和 arraylist,不同的行为

java - 使用 Java 1.7 处理套接字的最新技术是什么?

java - 如何将多个视频文件一起写入以创建一个视频文件

java - JPA映射2个实体表及其之间的关系表

java - Hibernate 对 Android 应用程序来说是不是太过分了?

java - @JsonIgnore 有条件

java - RAD 不会将类文件部署到正在运行的 websphere 服务器(本地 development0

java - "gradle init"(v4.0)生成的build.gradle找不到包

java - 重载采用基类并指导扩展类方法实现的方法