Java 如何迭代标准生成的列表?
我有一个方法,它使用以下代码从数据库返回所有Java 如何迭代标准生成的列表?,java,hibernate,hibernate-criteria,Java,Hibernate,Hibernate Criteria,我有一个方法,它使用以下代码从数据库返回所有文章s: public static List getAllArticles(){ Session se=openSession(); List li=se.createCriteria(Article.class).list(); se.close(); return li; } 但当我想对每个结果使用时,如下所示: for(Article a :Boss.getAllArticles()){ /
文章
s:
public static List getAllArticles(){
Session se=openSession();
List li=se.createCriteria(Article.class).list();
se.close();
return li;
}
但当我想对每个结果使用时,如下所示:
for(Article a :Boss.getAllArticles()){
//
}
此错误显示:
不兼容类型:对象无法转换为文章
您可以使用泛型来简化此过程。您的
getAllArticles
可以返回文章
对象的列表。它看起来是这样的:
public static List<Article> getAllArticles(){
Session se=openSession();
List<Article> li= (List<Article>)(se.createCriteria(Article.class).list());
se.close();
return li;
}
您可以使用泛型来简化此过程。您的
getAllArticles
可以返回文章
对象的列表。它看起来是这样的:
public static List<Article> getAllArticles(){
Session se=openSession();
List<Article> li= (List<Article>)(se.createCriteria(Article.class).list());
se.close();
return li;
}
使用您的
列表
作为泛型类型。然后迭代列表,不需要强制转换对象
List<Article> li=(List<Article>)se.createCriteria(Article.class).list();
List li=(List)se.createCriteria(Article.class.List();
将您的列表
用作泛型类型。然后迭代列表,不需要强制转换对象
List<Article> li=(List<Article>)se.createCriteria(Article.class).list();
List li=(List)se.createCriteria(Article.class.List();
根据以下内容进行更改-
return (List<Article>)li;
and public static List<Article> getAllArticles(){}
返回(列表)li;
和公共静态列表getAllArticles(){}
或通过简单的对象进行迭代。进行如下更改-
return (List<Article>)li;
and public static List<Article> getAllArticles(){}
返回(列表)li;
和公共静态列表getAllArticles(){}
或者通过简单的对象进行迭代。也可以尝试使用此方法进行计算
List<Article > articleValueList = new ArrayList<Article >();
Criteria criteria = session.createCriteria(Article.class);
articleValueList = (List<Article>) criteria.list();
List-articleValueList=new-ArrayList();
条件=session.createCriteria(Article.class);
articleValueList=(列表)条件。列表();
您可以迭代此
articleValueList
以从Database获取值。也可以尝试使用此方法进行计算
List<Article > articleValueList = new ArrayList<Article >();
Criteria criteria = session.createCriteria(Article.class);
articleValueList = (List<Article>) criteria.list();
List-articleValueList=new-ArrayList();
条件=session.createCriteria(Article.class);
articleValueList=(列表)条件。列表();
您可以迭代此
Article ValueList
以从Database获取值。当您可以使用泛型时,为什么要强制转换?Agree@kostja,但考虑到O.p.为什么要强制转换,当您可以使用泛型时?Agree@kostja,但考虑快速简单的解决方案,考虑到O.P.应该是可以接受的答案,因为它避免了不必要的铸造。抱歉,但只是想知道-List li=(List)(se.createCriteria(Article.class).List())代码>这不也是一个强制转换吗?是的,您需要强制转换为list()
方法返回一个非参数化的list
对象。不管它值多少钱,我认为你的回答也很好!我没有注意到答案也有选择,实际上这两个答案是相同的,根据回答的时间,我最终选择了这个答案,因为它的提交时间。我还投了任何正确的答案!应该是可以接受的答案,因为它避免了不必要的强制转换。抱歉,但只是想知道-List li=(List)(se.createCriteria(Article.class.List())代码>这不也是一个强制转换吗?是的,您需要强制转换为list()
方法返回一个非参数化的list
对象。不管它值多少钱,我认为你的回答也很好!我没有注意到答案也有选择,实际上这两个答案是相同的,根据回答的时间,我最终选择了这个答案,因为它的提交时间。我还投了任何正确的答案!