我有这样的代码:如何避免:“类型列表中表达选中需要转换成符合。”
List<Book> bookList = session.createCriteria(Book.class)
.add(Restrictions.like("name", "%i%")).list();
但是,我有一张告示,上面说: “类型安全:表达式类型列表需要未经检查的转换以符合列表“
我如何修复我的代码以删除此警告?
我有这样的代码:如何避免:“类型列表中表达选中需要转换成符合。”
List<Book> bookList = session.createCriteria(Book.class)
.add(Restrictions.like("name", "%i%")).list();
但是,我有一张告示,上面说: “类型安全:表达式类型列表需要未经检查的转换以符合列表“
我如何修复我的代码以删除此警告?
添加此线之上,或在方法头的顶部:
@SuppressWarnings("unchecked")
List<Book> bookList = session.createCriteria(Book.class)
.add(Restrictions.like("name", "%i%")).list();
或整个方法:
@SuppressWarnings("unchecked")
public void doSomething(){
的情况下,列表
()将是你自己的实现,你可以定义结果是这样的:
private List<Book> list(){
return new ArrayList<Book>();
}
那么annotation
是没有必要和你哈编译器控制着一个checked conversion
。
我想这是因为list()返回一个原始列表。 –