Ответ
В Java нет встроенной поддержки extensions (как в Kotlin), но их можно имитировать с помощью утилитных классов со статическими методами.
public final class StringExtensions {
public static boolean isEmail(String str) {
return str != null && str.matches("[^@]+@[^@]+\.[^@]+");
}
}
Использование:
boolean isValid = StringExtensions.isEmail("test@example.com");
Особенности:
- Методы должны быть
static - Первый параметр — объект, для которого вызывается метод
- Класс-утилита обычно
finalс приватным конструктором - В отличие от Kotlin, синтаксис менее удобный (
StringExtensions.method(str)вместоstr.method())
Альтернатива — использование проектов Lombok или Manifold, добавляющих функциональность extensions в Java.