> For the complete documentation index, see [llms.txt](https://kaze.gitbook.io/qa-theory/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kaze.gitbook.io/qa-theory/osnovy-programmirovaniya-na-java/sravnenie-ssylok.md).

# Сравнение ссылок

В Java сравнение ссылок происходит с использованием операторов `==` и `!=`.&#x20;

1. **Оператор `==`**:
   * Оператор `==` сравнивает две ссылки на объекты и возвращает `true`, если обе ссылки указывают на один и тот же объект в памяти.
   * Если обе ссылки указывают на один и тот же объект или обе ссылки равны `null`, то оператор `==` вернет `true`.
   * В противном случае, если ссылки указывают на разные объекты, оператор `==` вернет `false`.

Пример:

```java
String str1 = new String("hello");
String str2 = str1; // str2 ссылается на тот же объект, что и str1

System.out.println(str1 == str2); // Вывод: true
```

2. **Оператор `!=`**:
   * Оператор `!=` возвращает `true`, если две ссылки указывают на разные объекты в памяти.
   * Если обе ссылки указывают на один и тот же объект или обе ссылки равны `null`, то оператор `!=` вернет `false`.
   * В противном случае, если ссылки указывают на разные объекты, оператор `!=` вернет `true`.

Пример:

```java
String str1 = new String("hello");
String str2 = new String("hello");

System.out.println(str1 != str2); // Вывод: true, поскольку str1 и str2 ссылается на разные объекты String
```

3. **Метод `equals()`**:
   * Метод `equals()` используется для сравнения содержимого объектов, а не их ссылок.
   * Этот метод переопределен в классе `Object`, и большинство классов в Java переопределяют его для сравнения содержимого объектов.
   * Важно помнить, что по умолчанию метод `equals()` для класса `Object` выполняет сравнение ссылок, так же как оператор `==`.

Пример:

```java
String str1 = new String("hello");
String str2 = new String("hello");

System.out.println(str1.equals(str2)); // Вывод: true, потому что содержимое объектов String совпадает
```
