Ответ
Плюсы:
✔️ Кроссплатформенность (JVM)
✔️ Огромное сообщество и документация
✔️ Стабильность и обратная совместимость
✔️ Богатая стандартная библиотека
✔️ Многопоточность из коробки
Минусы:
❌ Вербозность кода (много boilerplate)
❌ Нет null-safety (до Kotlin)
❌ Медленнее Kotlin в разработке
❌ Ограничения с лямбдами (до Java 8)
Пример boilerplate:
public class User {
private String name;
// Геттеры/сеттеры вручную
public String getName() { return name; }
public void setName(String name) { this.name = name; }
}
Для Android сейчас предпочтительнее Kotlin, но Java ещё живёт в legacy-проектах.