加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – Lombok中的Val在IntelliJ中产生“不兼容类型”错误,但仍

发布时间:2020-12-15 02:17:44 所属栏目:Java 来源:网络整理
导读:我找到了这段代码: Class? extends Enum enumClass = Class.forName(Charsets.class.getName()) .asSubclass(Enum.class); 我想用Lombok重构它,但发生了意想不到的事情.当我把它改为: val enumClass = Class.forName(Charsets.class.getName()) .asSubclas
我找到了这段代码:

Class<? extends Enum> enumClass = Class.forName(Charsets.class.getName())
                                       .asSubclass(Enum.class);

我想用Lombok重构它,但发生了意想不到的事情.当我把它改为:

val enumClass = Class.forName(Charsets.class.getName())
                     .asSubclass(Enum.class);

我收到了这个错误:

enter image description here

令人惊讶的是代码编译得很好,而使用它的测试通过了.

我不确定它是否是Lombok插件,IDE中的错误或者我做错了什么.龙目岛不应该能够轻易地推断出变量的正确类型吗?

我的问题是:我可以安全地使用该代码还是应该恢复原始代码?

我正在使用最新的(此时)InteliiJ:

IntelliJ IDEA 2016.3

Build #IU-163.7743.44,built on November 17,2016

JRE: 1.8.0_112-release-408-b2 amd64

JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o

和龙目岛插件:

Lombok Plugin

Version: 0.13.16

解决方法

确认使用IntelliJ IDEA 2018.1.1和Lombok插件0.17-2018.1

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读