C 样式数组不再适用于记录
2022-09-02 01:21:39
我以前使用过这个人为的代码
record Foo(int bar[]) {}
它利用了C风格的数组表示法。它在Java 15中编译得很好。
现在,突然之间,随着Java 16中记录的正式发布,它不再编译了。以下是 jshell 的输出:
jshell> record Foo(int bar[]) {} | Error: | legacy array notation not allowed on record components | record Foo(int bar[]) {} | ^
为什么它在Java 15中编译,这是一个错误吗?出于好奇,为什么它在记录中不受支持,而在Java中却在其他任何地方都受支持?
我正在使用Adoptium(基于OpenJDK)。javac