第1关:练习- Java字符串之String类创建字符串之使用equals和==判断字符串是否相等
时间: 2024-10-13 20:16:18 浏览: 272
在Java中,`String` 类是处理文本的基石。当你需要比较两个字符串是否相等时,可以使用 `equals()` 和 `==` 这两个操作符。
1. **equals()** 方法:这个方法用于比较两个字符串的内容是否一致。无论字符串是在同一个对象还是不同的对象中,只要它们包含相同的字符序列,`equals()` 就会返回 `true`。例如:
```java
String str1 = "Hello";
String str2 = "Hello";
System.out.println(str1.equals(str2)); // 输出 true,因为内容相同
```
2. **==** 操作符:在Java中,对于 `String` 对象,`==` 判断的是引用是否指向同一个内存地址,也就是两个变量是否引用了同一个字符串对象。如果你有两个完全相同的字面量字符串,比如 `"Hello"`,它们实际上是同一个字符串实例,所以 `str1 == str2` 也会返回 `true`:
```java
String str1 = "Hello";
String str2 = "Hello";
System.out.println(str1 == str2); // 输出 true,因为它们引用的是同一个对象
```
然而,如果字符串是通过 `new String("Hello")` 创建的,虽然内容相同,但由于是不同的对象,`==` 会返回 `false`:
```java
String str1 = new String("Hello");
String str2 = new String("Hello");
System.out.println(str1 == str2); // 输出 false,因为它们是不同的对象
System.out.println(str1.equals(str2)); // 输出 true,内容依然相同
```
阅读全文