【问题标题】:Scala generics not correctly converted to Java in IntelliJScala 泛型在 IntelliJ 中未正确转换为 Java
【发布时间】:2016-05-10 13:56:49
【问题描述】:

我正在使用带有 Java 1.8 和 Scala 2.11.7 的 IntelliJ IDEA 2016.1

一个scala类定义一个方法

def getLogger(c:Class[_]) =  org.slf4j.LoggerFactory.getLogger(c)

在java类中,我通过这个方法使用

getLogger(MyClass.class)

这已经工作了很长时间(并且仍然适用于大学)。现在 IntelliJ 声称,getLogger 方法需要java.lang.Class<java.lang.Object> 而不是正确的java.lang.Class<?>

我仍然可以运行代码(直接在 IntelliJ 中或通过 mvn),但检查仍然显示错误。

我可以更改哪些设置来纠正这个问题?

【问题讨论】:

  • 我无法重现这种行为。可以附上截图吗? bugtracker 上的票是处理此类问题的更好方法。
  • 到目前为止,我认为这是我的配置问题,而不是错误。不确定,我应该截图什么,但这里有两个有问题的类。 imgur.com/bpeD4Xt
  • 你可以试试 File -> Invalidate Caches / Restart... 。如果您使用 Maven 或 SBT 等构建工具,您也可以尝试删除 .idea 目录并重新导入您的项目。
  • 看来是scala-plugin 3.0.3中引入的回归:youtrack.jetbrains.com/issue/SCL-10236

标签: java scala generics intellij-idea


【解决方案1】:

这是 scala-plugin 3.0.3 中引入的回归。修复在 3.0.4 中可用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-18
    • 2020-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-12
    相关资源
    最近更新 更多