我尝试UnsortedReadableList.loadFrom(Vector)时出现IllegalArgumentException

时间:2013-02-05 11:16:50

标签: java blackberry illegalargumentexception

以下代码:

UnsortedReadableList collection = new UnsortedReadableList();
Vector messages = new Vector();

// ApplicationMessageImpl is simple implementation of 
// net.rim.blackberry.api.messagelist.ApplicationMessage interface
messages.addElement(new ApplicationMessageImpl("bla-bla"));
collection.loadFrom(messages);

生成IllegalArgumentException enter image description here

有人可以帮助我理解为什么吗?我在异常

中看不到任何细节

更新

enter image description here

1 个答案:

答案 0 :(得分:2)

关于集合参数的UnsortedReadableList.loadFrom()'s JavaDoc个州:

  

collection - 此列表的新内容;应该是一个ReadableSet,a   ReadableList,Object数组或Enumeration。

您提供的Vector作为参数,但不是上述类型之一。 Vector.toArray()会提供Object[]。因此,我会尝试以下方法:

UnsortedReadableList collection = new UnsortedReadableList();
Vector messages = new Vector();

// ApplicationMessageImpl is simple implementation of 
// net.rim.blackberry.api.messagelist.ApplicationMessage interface
messages.addElement(new ApplicationMessageImpl("bla-bla"));
Object[] messageArray = new Object[messages.size()];
messages.copyInto(messageArray));
collection.loadFrom(messageArray);