Java中的contains方法不能按预期工作,因为"someString" != "someString"。

bluesky3月前 ⋅ 32 阅读

ChatGPT的回答仅作参考:

这是因为在Java中,字符串是对象,而不是基本类型。当使用双等号(==)比较两个字符串时,实际上比较的是它们在内存中的引用地址,而不是它们的值。因此,即使两个字符串具有相同的值,它们也可能具有不同的引用地址,因此双等号比较将返回false。

为了比较两个字符串的值,应该使用equals()方法,例如:

```
String str1 = "someString";
String str2 = "someString";
if(str1.equals(str2)){
    System.out.println("The strings are equal.");
}
```

这将输出"The strings are equal.",因为equals()方法比较的是字符串的值,而不是它们的引用地址。

全部评论: 0

    相关推荐