lombok @ExtensionMethod: не удается разрешить метод
Я добавил этот класс:
public class StringExtensions {
public static String makeMusical( String in ) {
return "1";
}
}
@ExtensionMethod({StringExtensions.class})
public class App {
public static void main(String[] args) {
String a = "A".makeMusical(); //compiles but ide shows:"cannot resolve method makeMusical"
}
}
но при попытке использовать его в строке я получаю:
"не удается разрешить метод makeMusical"
(Решение построено и работает на IntelliJ, но у меня нет intellisense / ide, который не распознал метод)
Я установил:
- Включить обработку аннотаций.
1 ответ
Все еще экспериментальная особенность - вероятно, причина этого здесь.
Созданный метод makeMusical
статичен, так что я думаю, когда вы пытаетесь интеллигентность после "A".
IDE пытается выполнить автозаполнение только с использованием нестатических методов.
Надеемся, что когда проблема в ссылке будет решена, плагин IDE будет вести себя соответствующим образом.
Кстати, Eclipse intellisense поведение похожее, но оно не показывает никаких ошибок, хотя.
Коллектор полностью поддерживает методы расширения в IntelliJ. И еще кое-что, что нужно учитывать: Manifold гораздо более четко интегрирует методы расширения в компилятор Java, поэтому ошибки, присутствующие в расширениях Lombok, не являются проблемой для Manifold, например, использование универсальных лямбд и т. Д. Полностью поддерживается в Manifold.