使用-Xlint重新编译:取消选中以获取详细信息

kri*_*avi 6 java

在编译java程序时,我们得到"使用-Xlint重新编译:未选中以获取详细信息".为什么我们收到此错误?

aio*_*obe 4

可能是因为您没有正确使用泛型。也许您将遗留代码与通用代码混合在一起。

以下是关于类型擦除的官方线索的引用:

注意:WarningDemo.java 使用未经检查或不安全的操作。
注意:使用 -Xlint:unchecked 重新编译以了解详细信息。

当使用对原始类型进行操作的较旧 API 时,可能会发生这种情况,如以下警告演示程序所示:

public class WarningDemo {
    public static void main(String[] args) {
        Box<Integer> bi;
        bi = createBox();
    }

    static Box createBox() {
        return new Box();
    }
}
Run Code Online (Sandbox Code Playgroud)

我建议你遵循建议,并-Xlint:unchecked在编译时添加该选项。这应该可以揭示代码的哪些部分有问题。

  • 如何“使用 -Xlint 重新编译:弃用详细信息。”? (3认同)
  • “*我在我的班级中没有使用泛型*”——这可能正是问题所在。您是否使用任何“List”、“Set”或其他“Collection”?在这种情况下,您不应该使用它们的*原始类型*。 (2认同)