gpt4 book ai didi

Groovy 闭包不适用于父类(super class)中的静态最终字段

转载 作者:行者123 更新时间:2023-12-03 01:58:34 25 4
gpt4 key购买 nike

class Parent {
final static String newLine = "*"
}
class Child extends Parent{
List body = [3, 4, 5]
String toString() {
def str = new StringBuilder()
body.each { str.append(it + newLine) }
str
}
}

def c = new Child()
println c

上面是一个简单的示例来说明问题。无法在 Eclipse 上使用 Groovy 插件 进行编译。删除父类(super class)字段中的 finalstatic 即可解决问题。但是,我不知道为什么会这样。

http://groovy.codehaus.org/Groovy+Beans在此链接中,它提到了 Groovy 中使用的属性和字段的规则。我想应用的应该是最后一个,即元类。不幸的是,我仍然无法理解这种行为。

该行为在 Groovy 的所有版本中均得到一致再现。也许有人可以向 Groovy 团队报告一个错误。我以前从未这样做过。如果有经验的人可以这样做,效率会更高。

最佳答案

这很可能是https://issues.apache.org/jira/browse/GROOVY-5776这比看起来更难修复

关于Groovy 闭包不适用于父类(super class)中的静态最终字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14552964/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com