Java 字符串比较:'==' 操作符和 'equals()' 方法

以下代码示例演示了 Java 中字符串比较的两种方式:'==' 操作符和 'equals()' 方法。

public class Test extends Thread {
    public static void main(String[] args) {
        String a = 'Haiyong';
        String b = new String(a);
        int value = 0;
        value = (a == b) ? 1 : 2;
        if (value == 1) {
            System.out.println('Haiyong');
        } else if (value == 2) {
            System.out.println('Blog');
        } else {
            System.out.println('HY');
        }
    }
}

解释:

  • 代码中,ab 都是字符串对象,但 a 是直接赋值的字符串,而 b 是使用 new 关键字创建的新字符串对象,即使两个字符串的内容相同,它们在内存中是不同的对象。
  • '==' 操作符比较的是对象的引用,ab 的引用不同,所以 a == bfalsevalue 的值为 2。
  • if 语句中,value 等于 2,因此输出为 'Blog'。

结论:

  • '==' 操作符用于比较两个对象的引用是否相同,而不是比较它们的内容。
  • equals() 方法用于比较两个对象的内容是否相同。

在处理字符串比较时,推荐使用 equals() 方法,以确保比较的是字符串的内容,而不是引用。

Java 字符串比较:'==' 操作符和 'equals()' 方法

原文地址: http://www.cveoy.top/t/topic/mJIm 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录