java字符串之String类创建字符串之使用equals和==判断字符串是否相等
时间: 2024-10-22 11:21:08 浏览: 28
在Java中,`String` 类是一个不可变的对象,这意味着一旦创建了一个 `String` 对象,它的内容就不能改变。当你比较两个 `String` 对象是否相等时,可以使用 `equals()` 和 `==` 运算符。
1. `equals()`: 这个方法用于比较两个 `String` 的内容是否一样,无论它们是原始字符串还是字符串字面量、对象实例。如果内容相同,返回 `true`;否则返回 `false`。例如:
```java
String str1 = "hello";
String str2 = "hello";
System.out.println(str1.equals(str2)); // 输出: true
```
2. `==`: 这个运算符则用于比较两个 `String` 变量引用是否指向内存中的同一个对象。也就是说,如果你创建了两个 `String` 对象并且它们的内容相同,`equals()` 返回 `true`,但是 `==` 会检查它们是否是指向同一块内存区域,如果是,则 `==` 也为 `true`。如:
```java
String str1 = new String("hello");
String str2 = new String("hello");
System.out.println(str1.equals(str2)); // 输出: true
System.out.println(str1 == str2); // 输出: false
```
在这里,尽管 `str1` 和 `str2` 内容相同,但由于是分别创建的新对象,所以 `==` 返回 `false`。
阅读全文