我找到了这段代码:
Class<? extends Enum> enumClass = Class.forName(Charsets.class.getName())
.asSubclass(Enum.class);
我想用Lombok重构它,但发生了意想不到的事情。当我把它改为:
val enumClass = Class.forName(Charsets.class.getName())
.asSubclass(Enum.class);
我收到了这个错误:
令人惊讶的是代码编译得很好,而使用它的测试通过了。
我不确定它是否是Lombok插件,IDE中的错误或者我做错了什么。龙目岛不应该能够轻易地推断出变量的正确类型吗?
我的问题是:我可以安全地使用该代码还是应该恢复原始代码?
我正在使用最新的(此时)IntelliJ:
IntelliJ IDEA 2016.3
Build#IU-163.7743.44,建于2016年11月17日
JRE:1.8.0_112-release-408-b2 amd64
JVM:JetBrains s.r.o的OpenJDK 64位服务器VM
和龙目岛插件:
Lombok插件
版本:0.13.16
确认使用IntelliJ IDEA 2018.1.1和Lombok插件0.17-2018.1
Preferences > Plugins
>为IntelliJ安装最新版本的Lombok插件