使用新 java.lang.Record 类检查名称空间冲突

在 Java SE 14 中添加了 java.lang.Record 类。由于在任何 Java 类中都隐式导入 java.lang.* 包,因此如果使用通配符来导入其他包的 Record 类,那么可能会发生名称空间冲突。例如,如果应用程序使用的是通过 import com.foo.* 导入的 com.foo.Record 类,那么从 Java 14 开始,编译器将无法确定应用程序使用 Record 引用的是 com.foo.Record 还是 java.lang.Record。 要避免此名称空间冲突,请使用单类型导入,例如 import com.foo.Record

此规则会标记任何现有 Record 引用,每个文件标记一次。请复查应用程序对 Record 类的使用,并确保未使用通配符将其导入。

有关这些更改的更多信息,请参阅 Java 14 Release Notes: JEP 359 Records (Preview)