java 泛型警告_Java泛型问题,在编译时,提示警告: 需要: List<T>

博客展示了Java代码中使用Collections.sort方法对List排序时出现的泛型警告,给出了错误提示和源代码,代码中在对books列表排序处出现警告,还提出疑问,询问出现警告的原因及为何必须找到特定的List类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

错误提示:

++++++++++

警告: [unchecked] 方法调用未经过检查: 将类 Collections中的方法 s

ort应用到给定的类型

Collections.sort(books);

^

需要: List

找到: List

其中, T是类型变量:

T扩展已在方法 sort(List)中声明的Comparable super T>

1 个警告

++++++++++

下面是源代码:

public Collection getBooks()throws Exception{

Connection con=null;

PreparedStatement prepStmt=null;

ResultSet rs =null;

List books = new ArrayList();

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?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值