封类不编译,Eclipse编译bug?
Sealed classes don't compile, Eclipse compiler bug?
我在 Eclipse 2020-09 和 2020-12 中有这两个 classes:
Class一个
package test;
public sealed class A permits B { }
Class B
package test;
import java.io.Serializable;
public final class B extends A implements Serializable { }
但是,eclipse 编译器在 class B:
中给我一个编译器错误
The type B extending a sealed class Serializable should be a permitted
subtype of Serializable
这看起来很奇怪,因为 Serializable
甚至都不是密封的 class。我在 JEP-360 中找不到任何相关信息。
删除“implements Serializable”可解决该错误。
这是 Eclipse 编译器中的错误吗?
我不知道 eclipse 是否完全支持此功能(预览功能),但您是否尝试过使用命令行编译器? (甲骨文或 openjdk)
我刚刚用 Java 15.0.1 测试了该代码,它工作正常 -> 像 eclipse 这样的接缝仍然没有完全支持
在另一台机器上使用 eclipse 2020-12 对其进行了测试(必须先启动)- 相同的错误消息 [:-(
很多可能是个bug
如果其他人正在阅读本文:
我的 bug report 已修复 Java 16.
我在 Eclipse 2020-09 和 2020-12 中有这两个 classes:
Class一个
package test;
public sealed class A permits B { }
Class B
package test;
import java.io.Serializable;
public final class B extends A implements Serializable { }
但是,eclipse 编译器在 class B:
中给我一个编译器错误The type B extending a sealed class Serializable should be a permitted subtype of Serializable
这看起来很奇怪,因为 Serializable
甚至都不是密封的 class。我在 JEP-360 中找不到任何相关信息。
删除“implements Serializable”可解决该错误。
这是 Eclipse 编译器中的错误吗?
我不知道 eclipse 是否完全支持此功能(预览功能),但您是否尝试过使用命令行编译器? (甲骨文或 openjdk)
我刚刚用 Java 15.0.1 测试了该代码,它工作正常 -> 像 eclipse 这样的接缝仍然没有完全支持
在另一台机器上使用 eclipse 2020-12 对其进行了测试(必须先启动)- 相同的错误消息 [:-(
很多可能是个bug
如果其他人正在阅读本文:
我的 bug report 已修复 Java 16.