我已添加此课程:
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上构建并运行的,但我没有智能感知/ ide无法识别该方法)
我已经设定:
答案 0 :(得分:1)
仍然是实验性功能 - 原因可能是here。
创建的方法makeMusical
是静态的,所以我猜你在"A".
之后尝试智能感知时IDE会尝试仅使用非静态方法自动完成。
希望当链接中的问题得到解决时,IDE插件将会相应地运行。
BTW - Eclipse intellisense行为类似,但它并没有显示任何错误。答案 1 :(得分:0)
Manifold完全支持IntelliJ中的扩展方法。还有其他需要考虑的方面,Manifold将扩展方法更清晰地集成到Java编译器中,因此Lombok扩展存在的错误对于Manifold来说不是问题,例如,Manifold完全支持使用通用lambda等。