kus*_*ama 4 java oop instanceof
我的代码在 java 17 上的 intellij 中运行,但在 java 14 上返回以下行的错误:
if (this.areas.get(i) instanceof Habitat area) {
返回错误:
java:instanceof中的模式匹配是预览功能,默认情况下处于禁用状态。
如何调整这一行以便它在 java 14 中工作?我知道我使用此功能的方式仅适用于 java 16+。
你有两个选择。
(1) 您可以在Java 14中启用预览功能,通过编译
javac MainClass.java --enable-preview --release 14
Run Code Online (Sandbox Code Playgroud)
并与运行
java MainClass --enable-preview
Run Code Online (Sandbox Code Playgroud)
(2) 你写的这行与此等效。
if (this.areas.get(i) instanceof Habitat) {
Habitat area = (Habitat) this.areas.get(i);
// ... more here
Run Code Online (Sandbox Code Playgroud)
当然,假设这种get方法没有任何令人讨厌的副作用。如果您不想启用预览功能,可以这样做。
| 归档时间: |
|
| 查看次数: |
9056 次 |
| 最近记录: |