Java 使用-Xlint重新编译:未选中详细信息警告?

Java 使用-Xlint重新编译:未选中详细信息警告?,java,Java,我写了这段代码,当软件启动时,它从数据库(MYSQL控制中心)获取数据,并将它们带到表中。但是当我编译这段代码时,出现了2个错误 Note: C:\Users\Commander Shepard\Documents\NetBeansProjects\Furniture Management System\src\furnituremanagementsystem\employee.java uses unchecked or unsafe operations. Note: Recompile

我写了这段代码,当软件启动时,它从数据库(MYSQL控制中心)获取数据,并将它们带到表中。但是当我编译这段代码时,出现了2个错误

Note: C:\Users\Commander Shepard\Documents\NetBeansProjects\Furniture Management System\src\furnituremanagementsystem\employee.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
我的代码:

public class employee extends javax.swing.JFrame {

    // Creates new form employee
    public employee() {
        initComponents();           

        Date now = new Date();
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd");
        datelabel.setText(formatter.format(now));

        try {
            Statement s = DB.getConnection().createStatement();
            DefaultTableModel dtm = (DefaultTableModel) jTable1.getModel();
            dtm.setRowCount(0);
            ResultSet r = s.executeQuery("SELECT * from Employee");
            while (r.next()) {
                Vector v = new Vector();
                v.add(r.getString(1));
                v.add(r.getString(2));
                v.add(r.getString(3));
                v.add(r.getString(4));
                v.add(r.getString(5));
                v.add(r.getString(6));
                v.add(r.getString(7));
                v.add(r.getString(8));
                v.add(r.getString(9));
                v.add(r.getString(10));
                v.add(r.getString(11));
                v.add(r.getString(12));
                v.add(r.getString(13));
                v.add(r.getString(14));

                dtm.addRow(v);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @SuppressWarnings("unchecked")
    ...
}

这件事实际上并没有影响程序,它工作正常,但我想知道这在将来是否会成为一个问题,以及我是否应该对此做些什么。

您使用的是原始格式的。它是一个泛型类。由于要添加
字符串
s,请尝试

Vector<String> v = new Vector<String>();
Vector v=new Vector();

使用泛型引用时会发生这种情况。您实际上不需要考虑该警告,但如果您想查看它是什么,则应使用新参数重新编译:

javac programname.java参数

但是在Java中使用泛型有很多问题,因为它添加得很晚,而且存在所有向后兼容性问题,是的,我们不需要深入讨论

照上面说的做:

注意:有关详细信息,请使用
-Xlint:unchecked
重新编译

例如,对于Gradle:

allprojects {
    gradle.projectsEvaluated {
        tasks.withType(JavaCompile) {         
            options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
        }
    }
}
所有项目{
gradle.项目评估{
tasks.withType(JavaCompile){

options.compilerArgs Yes-您应该使用-Xlint:unchecked重新编译,并查看更详细的警告。(您使用的是原始
向量
类型,而不是
向量
,原因之一是。但重要的是只需遵循编译器的建议。)那么,您是如何编译的呢?您只需将
-Xlint:unchecked
标志添加到编译器中……我是通过netbeans来完成这项工作的,所以我只需单击compile按钮就可以了。那么我如何编辑它的编译方式呢?我不使用netbeans,但它看起来像是使用Ant来指定构建细节,所以编辑build.xml文件。但是ArrayList不起作用与Vector一样使用表模型。没有捕捉到这是针对
DefaultTableModel
的。取出
ArrayList
部分。。。