Java 使用-Xlint重新编译:未选中详细信息警告?
我写了这段代码,当软件启动时,它从数据库(MYSQL控制中心)获取数据,并将它们带到表中。但是当我编译这段代码时,出现了2个错误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
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
部分。。。