2013-02-05 42 views
1

下面的代码:抛出:IllegalArgumentException当我尝试UnsortedReadableList.loadFrom(矢量)

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

+0

发布堆栈跟踪。 – GGrec

+0

collection_和collection.loadFrom(消息)。请确认它是否是拼写错误:收集和收集_ – Shashi

+0

Stacktrace附加,但我不认为它会有所帮助。错误的错误已被修复 – CAMOBAP

回答

2

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

收集 - 此列表的新内容;应该是ReadableSet,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); 
+0

仍然有同样的问题 – CAMOBAP

+0

但是,这是工作,当我将'矢量'转换为'对象[]'。出于这个原因,我接受你的回答 – CAMOBAP

+0

很高兴听到它的工作,谢谢。我会相应地更新答案。 –

相关问题