java 字符串比较
时间: 2023-12-22 15:29:36 浏览: 238
在Java中,字符串比较可以使用equals()方法或者compareTo()方法来实现。下面是两种方法的示例:
1. 使用equals()方法进行字符串比较:
```java
String str1 = "hello";
String str2 = "world";
if (str1.equals(str2)) {
System.out.println("两个字符串相等");
} else {
System.out.println("两个字符串不相等");
}
```
2. 使用compareTo()方法进行字符串比较:
```java
String str1 = "hello";
String str2 = "world";
int result = str1.compareTo(str2);
if (result == 0) {
System.out.println("两个字符串相等");
} else if (result < 0) {
System.out.println("str1小于str2");
} else {
System.out.println("str1大于str2");
}
```
需要注意的是,使用equals()方法比较字符串时,比较的是字符串的内容是否相等;而使用compareTo()方法比较字符串时,比较的是字符串的字典顺序。
相关问题
java 字符串常量池
Java字符串常量池是Java虚拟机在运行时存储字符串字面量的一个特殊区域。常量池中主要存放两大类常量:字面量和符号引用。字面量是指Java语言层面的常量概念,如文本字符串、被声明为final的常量值等。字符串字面量会在编译时被放入常量池中,而不会重复地创建新的对象。可以通过使用String类的intern()方法将字符串对象显式地放入常量池中。
java equals比较字符串
在Java中,`equals()` 方法用于比较两个字符串是否相等。这个方法默认的行为是比较字符串的内容,如果两个字符串包含相同的字符序列,则返回`true`,否则返回`false`。例如:
```java
String str1 = "hello";
String str2 = "hello";
System.out.println(str1.equals(str2)); // 输出:true
String str3 = new String("hello");
System.out.println(str1.equals(str3)); // 输出:true,因为"hello"的实例化两次实际上是同一个对象
String str4 = "world";
System.out.println(str1.equals(str4)); // 输出:false,因为str1和str4的内容不同
```
需要注意的是,虽然`==`操作符通常用于比较引用是否指向同一内存地址,但在比较字符串时,由于`String`类对常量池的优化,多数情况下会隐式地将字符串内容与常量池中的内容比较,因此`str1 == str2`的结果也是`true`。
如果你想要检查两个字符串的值(忽略大小写),可以使用 `equalsIgnoreCase()` 方法代替:
```java
String str5 = "HELLO";
System.out.println(str1.equalsIgnoreCase(str5)); // 输出:true
```
阅读全文