将对象列表转换为数组。获取ArrayStoreException

时间:2019-05-02 12:13:38

标签: java collections

我确实有这样一段代码:

List<VersionedUserIdentifier> userIdentifiers = getUsersModule().getUsersIdentifiers();
if (userIdentifiers.isEmpty()) {
    LOG.info(No users to verify.");
    return;
}
VersionedUserIdentifier[] vIds = userIdentifiers.toArray(new VersionedUserIdentifier[0]);

我遇到错误:

java.lang.ArrayStoreException
at java.util.ArrayList.toArray(ArrayList.java:133)

我无法将列表转换为数组。任何想法可能有什么问题吗? 我也尝试过:

VersionedUserIdentifier[] vIds = userIdentifiers.toArray(new VersionedUserIdentifier[userIdentifiers.size()]);

2 个答案:

答案 0 :(得分:1)

当您尝试在数组中存储不同类型的对象时,会发生这种类型的异常。

请参考以下链接 Oracle doc

答案 1 :(得分:-1)

这对我有用。请检查

List<VersionedUserIdentifier> userIdentifiers = getUsersModule().getUsersIdentifiers();
VersionedUserIdentifier[] vui=(VersionedUserIdentifier[])userIdentifiers.toArray();
Stream.of(vui).forEach(System.out :: println);