如何将对象类型列表转换为对象数组

时间:2011-12-08 22:40:11

标签: java

我必须从方法返回对象数组。对象最初保存在对象类型列表中。我在将对象列表中的值分配给对象数组时遇到了困难。我怎么做。这是我的代码:

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
}

3 个答案:

答案 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#toArrayArrays#asList

答案 1 :(得分:3)

使用列表的toArray方法:

return users.toArray(new User[users.size]);

答案 2 :(得分:1)

这会解决您的问题吗?

usersList = users.toArray(new User[users.size()]);

顺便说一下,您在代码中使用users两次(作为数组和列表)