0
型元件的我已經定義的自定義ListModel
作爲內部類的一些其它類保持一些數據。要填充ListModel
,我查詢一個數據庫文件並選擇其中的數據,如下面的一段代碼所示。一切都很好地出現在使用 這ListModel
一個JList
。以ListModel
什麼我不明白的是「使用未經檢查或不安全的操作」。當我與-Xlint編譯,我得到警告: 「缺少類型參數泛型類DefaultListModel<E>
」
我的問題是什麼是<E>
在我下面的第一行代碼:
public class SalListModel extends DefaultListModel<E=?>{
String defaultSearch="*";
String salName=defaultSearch;
//inner class constructor
public SalListModel(){
try{
//connection creates the database if it does not exist
Class.forName("org.sqlite.JDBC");
Connection c=
DriverManager.getConnection("jdbc:sqlite:"+dbfile);
Statement st=c.createStatement();
String sql;
sql="select "+salName+" from "+tablename+
" ORDER BY "+name[0]+" ASC;"; //alphabetical order
ResultSet rs=st.executeQuery(sql);
while (rs.next()){
addElement(rs.getString(name[0])+" "+rs.getString(cnp[0]));
}
rs.close();
st.close();
c.close();
}
catch (ClassNotFoundException cnfe){
System.out.println("SQL SalListModel class not found: "+
cnfe.getMessage());
}
catch (SQLException sqle){
System.out.println("SalListModel SQL exception:"+
sqle.getMessage());
}
}
}
你必須使用泛型類型,在這篇文章中幾乎相同的問題http://stackoverflow.com/questions/15718217/found-raw-type-missing-return-arguments-for-generic-class – snow8261 2014-08-30 16:11:09
答案 我的問題。 – Magicsowon 2014-08-30 16:30:30