English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной учебник 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

Разница между оператором == и методом equals() в Java

Java полные примеры

В этом руководстве мы будем изучать различие между оператором == и методом equals() в Java

Пример 1: Программа Java для различия == и equals()

class Main {
  public static void main(String[] args) {
    String name1 = new String("w3codebox");
    String name2 = new String("w3codebox");
    System.out.println("Проверка того, равны ли две строки");
    //Проверка того, равны ли две строки
    // Использование оператора ==
    boolean result1 = (name1 == name2);
    System.out.println("Использование оператора ==: " + result1);
    //Использование метода equals()
    boolean result2 = name1.equals(name2);
    System.out.println("Используя equals(): " + result2);
  {}
{}

Результат вывода

Проверка того, равны ли две строки
Использование оператора ==: false
Использование метода equals(): true

В предыдущем примере мы использовали оператор == и метод equals() для проверки того, равны ли две строки. Здесь,

  • Оператор == проверяет ссылки на строковые объектыСравнение ссылокТаким образом, name1 и name2 являются двумя различными параметрами. Таким образом, он возвращает false.

  • Метод equals() проверяет содержимое строки объектаСравнение содержимогоЗдесь, содержимое объектов name1 и name2 одинаково:w3codeboxТаким образом, он возвращает true.

Пример 2: Разница между оператором == и методом equals()

class Main {
  public static void main(String[] args) {
    String name1 = new String("w3codebox");
    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 полные примеры