我怎么知道返回什么类型的List?

时间:2014-07-31 21:15:16

标签: java hibernate list

使用Hibernate Criteria,并声明:

DetachedCriteria detachedCriteria  =  DetachedCriteria.forClass(SomeEntity.class);

List<SomeObject> myListOfObjects = detachedCriteria.getExecutableCriteria(session).list();

我怎么知道什么样的列表实现是myListOfObjects? ArrayList,LinkList等等。我问这个的原因是因为我追查了所有代码,并根据官方文档,

DetachedCriteria.getExecutableCriteria(session).list() 

返回Criteria,应用于Criteria的list()返回List:

http://docs.jboss.org/hibernate/orm/3.2/api/org/hibernate/criterion/DetachedCriteria.html http://docs.jboss.org/hibernate/orm/3.2/api/org/hibernate/Criteria.html

2 个答案:

答案 0 :(得分:0)

您可以使用以下命令阻止返回的List接口的运行时类: -

DetachedCriteria detachedCriteria  =  DetachedCriteria.forClass(SomeEntity.class);

List<SomeObject> myListOfObjects = detachedCriteria.getExecutableCriteria(session).list();

System.out.println(myListOfObjects.getClass());

答案 1 :(得分:0)

您可以在所需的列表的任何实现中使用 myListOfObjects 。您可以键入cast it,将其用作 List 实现的构造函数的参数,并在实用程序类中使用它,例如 Collections