Встречается на 2% собеседований по Java

Как избежать большого количества проверок с помощью if

Используйте полиморфизм и стратегии. Замените условные операторы на вызовы методов разных реализаций общего интерфейса.

Пример:

java
interface Handler {
    void handle();
}

class HandlerA implements Handler {
    public void handle() { System.out.println("A"); }
}

class HandlerB implements Handler {
public void handle() { System.out.println("B"); }
}

// Вместо if-else
Map<String, Handler> handlers = Map.of(
"A", new HandlerA(),
"B", new HandlerB()
);

handlers.get(type).handle(); // Динамический выбор реализации

text

Также можно использовать:  
- **enum** с методами  
- **Chain of Responsibility**  
- **Фабрики** или **Dependency Injection**  
- **Паттерн State** для управления сложными состояниями  

Это делает код чище, расширяемым и тестируемым.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы