Java 菜鸟教程

Java 流程控制

Java 数组

Java 面向对象(I)

Java 面向对象(II)

Java 面向对象(III)

Java 异常处理

Java 列表(List)

Java Queue(队列)

Java Map集合

Java Set集合

Java 输入输出(I/O)

Java Reader/Writer

Java 其他主题

Java 程序字符串 == 运算符和equals()方法区别

Java 实例大全

在本教程中,我们将学习区分Java中的字符串==运算符和equals()方法

示例1:区分==和equals()的Java程序

class Main {

  public static void main(String[] args) {

    String name1 = new String("nhooo");
    String name2 = new String("nhooo");

    System.out.println("检查两个字符串是否相等");

    //检查两个字符串是否相等
    // 使用 == 运算符
    boolean result1 = (name1 == name2);
    System.out.println("使用 == 运算符: " + result1);

    //使用 equals() 方法
    boolean result2 = name1.equals(name2);
    System.out.println("Using equals(): " + result2);
  }
}

输出结果

检查两个字符串是否相等
使用 == 运算符: false
使用 equals() 方法: true

在上面的示例中,我们使用了  == 运算符 和 equals()方法来检查两个字符串是否相等。这里,

  • == 检查对字符串对象的引用是否相等。在这里,name1 和 name2是两个不同的参数。因此,它返回 false。

  • equals()检查字符串对象的内容是否相等。在这里,对象name1和name2的内容是相同的:nhooo。因此,它返回 true。

示例2:== 运算符和 equals() 方法的区别

class Main {

  public static void main(String[] args) {

    String name1 = new String("nhooo");
    String name2 = name1;

    System.out.println("检查两个字符串是否相等");

    //检查两个字符串是否相等
    //使用 == 运算符
    boolean result1 = (name1 == name2);
    System.out.println("使用 == 运算符: " + result1);

    //使用 equals() 方法
    boolean result2 = name1.equals(name2);
    System.out.println("使用 equals() 方法: " + result2);
  }
}

输出结果

检查两个字符串是否相等
使用 == 运算符: true
使用 equals() 方法: true

在这里,name1和name2两者都是指向同一个对象。因此,name1 == name2 返回 true。

Java 实例大全