9

我写了这段代码,当软件启动时,它从数据库(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")
    ...
}

这件事实际上并没有影响程序,它工作正常,但我想知道这是否会成为未来的问题,以及我是否应该对此采取措施。

4

3 回答 3

1

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

javac 程序名.java 参数

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

于 2013-11-07T21:12:44.267 回答
0

照它说的做:

注意:重新编译以-Xlint:unchecked获取详细信息。

例如,使用 Gradle:

allprojects {
    gradle.projectsEvaluated {
        tasks.withType(JavaCompile) {         
            options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation"
        }
    }
}

(当时)使用 NetBeans,那将是“附加编译器选项”。

于 2020-05-12T16:56:20.533 回答
-2

You used the raw form of the Vector class. It is a generic class. Since you're adding Strings, try

Vector<String> v = new Vector<String>();
于 2013-11-07T21:07:36.647 回答