您的位置:

Java判断字符串相等的方法

一、使用equals方法

在Java中,使用equals方法可以判断两个字符串是否相等。

    String str1 = "hello";
    String str2 = "hello";
    if(str1.equals(str2)){
        System.out.println("str1和str2相等");
    }else{
        System.out.println("str1和str2不相等");
    }

上述代码中,equals方法比较两个字符串内容的是否相等,如果相等就返回true,否则返回false。

二、使用equalsIgnoreCase方法

当比较字符串时,有时候需要忽略字符串中的大小写。可以使用equalsIgnoreCase方法,该方法会比较两个字符串并忽略大小写。

    String str1 = "Java";
    String str2 = "java";
    if(str1.equalsIgnoreCase(str2)){
        System.out.println("str1和str2相等");
    }else{
        System.out.println("str1和str2不相等");
    }

上述代码中,equalsIgnoreCase方法比较两个字符串,忽略大小写之后,如果相等就返回true,否则返回false。

三、使用compareTo方法

compareTo方法用于比较两个字符串的大小。如果两个字符串相等,则返回0;如果当前字符串小于比较的字符串,返回小于0的值;如果当前字符串大于比较的字符串,返回大于0的值。

    String str1 = "hello";
    String str2 = "hello";
    int result = str1.compareTo(str2);
    if(result == 0){
        System.out.println("str1和str2相等");
    }else if(result > 0){
        System.out.println("str1大于str2");
    }else{
        System.out.println("str1小于str2");
    }

上述代码中,compareTo方法比较两个字符串的大小,返回结果存储在result变量中,根据result的值可以判断两个字符串的大小关系。

四、使用equals和==的区别

在Java中,equals方法和==操作符都可以判断两个字符串是否相等,但是它们之间有很大的区别:

1、equals方法用于比较两个字符串的内容是否相等,而==操作符用于比较两个字符串对象的内存地址是否相等。

2、如果两个字符串的内容相同,那么使用equals方法和==操作符都返回true;如果两个字符串的内容不同,使用equals方法返回false,使用==操作符也返回false。

3、如果使用new关键字创建字符串对象,每次都会创建一个新的字符串对象。即使两个字符串内容相等,使用==操作符也返回false。

    String str1 = "hello";
    String str2 = new String("hello");
    if(str1 == str2){
        System.out.println("str1和str2地址相同");
    }else{
        System.out.println("str1和str2地址不相同");
    }
    if(str1.equals(str2)){
        System.out.println("str1和str2内容相等");
    }else{
        System.out.println("str1和str2内容不相等");
    }

上述代码中,使用new关键字创建两个字符串对象,即使它们的内容相等,使用==操作符也返回false,而使用equals方法返回true。

五、结语

以上是Java中判断字符串相等的方法的介绍,不同的场景可以根据需要选择不同的方法。