Intellij idea IntelliJ IDEA没有';我不喜欢将HashMap作为委托 让我们考虑下面的代码: class MyClass { //Here:IJ says method putAll not implemented @Delegate HashMap<String, Integer> map = new HashMap<String, Integer>() } hello = new MyClass() hello.put("x", 1) println "x=" + hello.get("x") classmyclass{//Here:IJ说方法putAll没有实现 @委派 HashMap=newHashMap() } hello=新建MyClass() 喂,放(“x”,1) println“x=“+hello.get”(“x”)

Intellij idea IntelliJ IDEA没有';我不喜欢将HashMap作为委托 让我们考虑下面的代码: class MyClass { //Here:IJ says method putAll not implemented @Delegate HashMap<String, Integer> map = new HashMap<String, Integer>() } hello = new MyClass() hello.put("x", 1) println "x=" + hello.get("x") classmyclass{//Here:IJ说方法putAll没有实现 @委派 HashMap=newHashMap() } hello=新建MyClass() 喂,放(“x”,1) println“x=“+hello.get”(“x”),intellij-idea,groovy,delegates,Intellij Idea,Groovy,Delegates,当在命令行上直接使用Groovy调用时,它可以正常工作,但IntelliJ IDEA会在第一行出现以下错误消息: 未实现方法putAll() 知道为什么以及如何修复它吗?我也经历过同样的行为。 我在IntelliJ项目中找到了一个类(MyClass),该类在项目视图中以.groovy文件扩展名显示。通过执行重构-->重命名并删除.groovy扩展名,该类将在项目视图中显示而不显示扩展名,问题得到解决 当我试图运行这个类时,我解释了这个问题,它实际上是一个Groovy脚本,而不仅仅是一个普通类。编

当在命令行上直接使用Groovy调用时,它可以正常工作,但IntelliJ IDEA会在第一行出现以下错误消息: 未实现方法putAll()


知道为什么以及如何修复它吗?

我也经历过同样的行为。 我在IntelliJ项目中找到了一个类(MyClass),该类在项目视图中以.groovy文件扩展名显示。通过执行重构-->重命名并删除.groovy扩展名,该类将在项目视图中显示而不显示扩展名,问题得到解决

当我试图运行这个类时,我解释了这个问题,它实际上是一个Groovy脚本,而不仅仅是一个普通类。编译时,它会遇到一个错误:


无效的重复类定义,这给了我一个提示,我创建了IntelliJ认为是类定义的东西,但实际上是一个Groovy脚本,因此IntelliJ在幕后处理了该脚本,并为该脚本创建了第二个合成类。

哪一行和哪一行?如果它编译并运行,那么它不会被破坏。。。只是你的IDE弄糊涂了。Groovy的动态特性会使IDE适合,并导致许多错误。你可以向Intellij提交一个问题,看看他们是否能解决。我希望我遗漏了什么,但它确实看起来像一个bug,因此我提交了一份bug报告: