Easy Java
5.22K subscribers
311 photos
51 videos
463 links
Лучшие обучающие материалы и другие полезности для Java-разработчиков.

Сотрудничество: @heywan_n1

Цены: @heywan_media

Реклама на бирже: https://telega.in/c/+r8kkGSypBY84MmIy
Download Telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
21
Please open Telegram to view this post
VIEW IN TELEGRAM
😁23
Вопрос с собеса

Чем отличается == от .equals() в Java?

Пример🔽
public class Main {
public static void main(String[] args) {
String a = new String("hello");
String b = new String("hello");

System.out.println(a == b); // ➔ false
System.out.println(a.equals(b)); // ➔ true
}
}


Ответ🔽
Оператор == сравнивает ссылки на объекты, то есть проверяет, ссылаются ли переменные на один и тот же объект в памяти.

Метод .equals() сравнивает содержимое объектов. Классы, такие как String, переопределяют equals() так, чтобы сравнивать значения.

📌 Поэтому a == b может быть false, даже если строки идентичны по содержимому. Чтобы сравнивать содержимое, всегда используйте .equals() (или Objects.equals() для null-безопасности).


➡️ Easy Java | #Собес
Please open Telegram to view this post
VIEW IN TELEGRAM
62👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
42
Ответ:
Anonymous Quiz
17%
1
23%
2
51%
3
9%
4
👍1
👩‍💻 Что такое исчерпывающий switch по enum в Java и зачем он нужен?

В современных версиях Java компилятор проверяет, чтобы switch по enum был исчерпывающим — то есть обрабатывал все возможные значения.

Если не покрыть все кейсы или не указать default, компилятор выдаст ошибку или предупреждение.


• Защита от забытых кейсов
• Безопаснее при расширении enum
• Явная обработка всех вариантов

⚡️ Пример:

enum Status {
NEW, IN_PROGRESS, DONE
}

public class Main {
public static void main(String[] args) {
Status status = Status.IN_PROGRESS;

switch (status) {
case NEW -> System.out.println("Создано");
case IN_PROGRESS -> System.out.println("В работе");
case DONE -> System.out.println("Завершено");
}
}
}


👀 Исчерпывающий switch по enum особенно полезен в системах со строгими статусами или флагами — например, при описании состояний заказов, задач, соединений и других finite-state моделей.


➡️ Easy Java | #Теория
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍31
📖 Интеграционное тестирование в Spring Boot: SourceCraft + Amplicode + Docker Compose Starter в деле

Команда показывает, как в Spring Boot тестировать REST API через Amplicode, Docker Compose и подсказки от LLM. Интеграционные тесты — теперь почти как конструктор.

Читать статью

➡️ Easy Java | #Статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
Please open Telegram to view this post
VIEW IN TELEGRAM
😁28😭12
Вопрос с собеса

Можно ли вызвать return изнутри try и при этом выполнить finally?

Пример🔽
public class Main {
public static void main(String[] args) {
System.out.println(test()); // ➔ Выполнен finally ➔ 5
}

static int test() {
try {
return 5;
} finally {
System.out.println("Выполнен finally");
}
}
}


Ответ🔽
Да, блок finally всегда выполняется, даже если в try есть return.
Это гарантирует, что важные действия (например, закрытие ресурсов) не будут пропущены.

📌 Даже при return, break, continue или выбрасывании исключения — finally обязательно сработает.


➡️ Easy Java | #Собес
Please open Telegram to view this post
VIEW IN TELEGRAM
14👍9
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍1
Ответ?
Anonymous Quiz
13%
1
10%
2
70%
3
7%
4
👩‍💻 Что такое try-with-resources в Java и зачем он нужен?

try-with-resources — это конструкция, которая автоматически закрывает ресурсы (например, файлы, потоки), когда они больше не нужны. Она работает с любыми объектами, реализующими интерфейс AutoCloseable.

Не нужно вручную вызывать close() — Java сама закроет ресурс даже при исключении. Это делает код чище и безопаснее.


• Автоматически закрывает ресурсы
• Защищает от утечек памяти
• Упрощает работу с I/O и JDBC

⚡️ Пример:

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class Main {
public static void main(String[] args) {
try (BufferedReader reader = new BufferedReader(new FileReader("data.txt"))) {
System.out.println(reader.readLine());
} catch (IOException e) {
e.printStackTrace();
}
}
}


👀 try-with-resources особенно полезен при работе с файлами, сетевыми соединениями, базами данных и любыми ресурсами, которые нужно явно закрывать.


➡️ Easy Java | #Теория
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥4
📖 Почему java -jar игнорирует твой -cp и как это обойти

Когда java -jar цинично игнорирует ваш -cp, хочется грустить, но спокойствие, сегодня рассмотрим, почему так происходит и как это обойти.

Читать статью

➡️ Easy Java | #Статья
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔3
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩5👍3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍27😁155🤔3🤣1😭1
Вопрос с собеса

Что произойдёт, если в конструкторе выбросить исключение?

Пример🔽
public class Main {
public static void main(String[] args) {
try {
new User();
} catch (RuntimeException e) {
System.out.println("Исключение поймано: " + e.getMessage());
}
}
}

class User {
public User() {
System.out.println("Конструктор вызван");
throw new RuntimeException("Ошибка при создании объекта");
}
}


Ответ🔽
Если конструктор выбрасывает исключение, объект не будет создан. Сборщик мусора может вызвать finalize(), если он переопределён, но ссылку на объект получить невозможно.

📌 Это важно при работе с зависимостями, особенно если конструктор делает что-то кроме инициализации (например, открывает соединения или файлы).


➡️ Easy Java | #Собес
Please open Telegram to view this post
VIEW IN TELEGRAM
14🤯2
Please open Telegram to view this post
VIEW IN TELEGRAM