可能是因为您没有正确使用泛型。也许您将遗留代码与通用代码混合在一起。
以下是关于类型擦除的官方线索的引用:
注意:WarningDemo.java 使用未经检查或不安全的操作。 注意:使用 -Xlint:unchecked 重新编译以了解详细信息。当使用对原始类型进行操作的较旧 API 时,可能会发生这种情况,如以下警告演示程序所示:
Run Code Online (Sandbox Code Playgroud)public class WarningDemo { public static void main(String[] args) { Box<Integer> bi; bi = createBox(); } static Box createBox() { return new Box(); } }
我建议你遵循建议,并-Xlint:unchecked在编译时添加该选项。这应该可以揭示代码的哪些部分有问题。