错误提示:
++++++++++
警告: [unchecked] 方法调用未经过检查: 将类 Collections中的方法 s
ort应用到给定的类型
Collections.sort(books);
^
需要: List<T>
找到: List<BookDetails>
其中, T是类型变量:
T扩展已在方法 <T>sort(List<T>)中声明的Comparable<? super T>
1 个警告
++++++++++
下面是源代码:
public Collection<BookDetails> getBooks()throws Exception{
Connection con=null;
PreparedStatement prepStmt=null;
ResultSet rs =null;
List<BookDetails> books = new ArrayList<BookDetails>();
try {
con=getConnection();
String selectStatement = "select * " + "from BOOKS";
prepStmt = con.prepareStatement(selectStatement);
rs = prepStmt.executeQuery();
while (rs.next()) {
BookDetails bd = new BookDetails(rs.getString(1), rs.getString(2), rs.getString(3),
rs.getFloat(4), rs.getInt(5), rs.getString(6),rs.getInt(7));
books.add(bd);
}
}finally{
closeResultSet(rs);
closePrepStmt(prepStmt);
closeConnection(con);
}
Collections.sort(books); // 出现警告的地方
return books;
}
问题: 这是什么原因?T不是只是一个类型符号吗?为什么必须要找到List<T>?
으아악
참고: T는 Comparable<? super T를 확장합니다.
Java 버전이 너무 낮을 수 있습니다. Java 1.5 이상에서는 @SuppressWarning 주석을 지원합니다