我必须从方法返回对象数组。对象最初保存在对象类型列表中。我在将对象列表中的值分配给对象数组时遇到了困难。我怎么做。这是我的代码:
public User[] getUser() {
User[] users = null;
Session session = HibernateUtil.getSessionFactory().openSession();
List<User> users = session.createQuery("from User").list();
for (Iterator<User> iter = users.iterator(); iter.hasNext(); ) {
User user = iter.next();
//Here I need to assign User type object from list to array of objects
}
return users; // returning nothing so far
}
答案 0 :(得分:4)
可以使用方法
来完成从List
来回切换到数组,反之亦然
User[] array = users.toArray( new User[usersList.size()] );//from list to array
List<User> usersList = Arrays.asList( userArray );//from array to list
有关详细信息,请参阅这些方法的javadoc(List#toArray和Arrays#asList)
答案 1 :(得分:3)
使用列表的toArray
方法:
return users.toArray(new User[users.size]);
答案 2 :(得分:1)
这会解决您的问题吗?
usersList = users.toArray(new User[users.size()]);
顺便说一下,您在代码中使用users
两次(作为数组和列表)