Java将对象[]数组转换为向量
发布时间:2020-12-14 17:41:28 所属栏目:Java 来源:网络整理
导读:将Object数组转换为Vector的最佳方式是什么? JDE 1.5 public Vector getListElements(){ Vector myVector = this.elements; return myVector;} this.elements是一个对象[] 谢谢, rAyt 我应该澄清我的问题 我的目标平台是黑莓. 不支持集合. Array.asList()不
将Object数组转换为Vector的最佳方式是什么?
JDE< 1.5 public Vector getListElements() { Vector myVector = this.elements; return myVector; } this.elements是一个对象[] 谢谢, 我应该澄清我的问题 我的目标平台是黑莓. 不支持集合. Array.asList()不是,或者:/ 全班 package CustomElements; import net.rim.device.api.ui.component .*; import net.rim.device.api.collection.util.*; import net.rim.device.api.util.*; import java.util.*; public class ContactsList extends SortedReadableList implements KeywordProvider { // Constructor public ContactsList(Vector contacts) { super(new ContactsListComparatorByFirstName()); loadFrom(contacts.elements()); } // Add Element to ContactsSortedReadableList void addElement(Object element) { doAdd(element); } public Vector getListElements() { return new Vector(Collection Vector test = this.getElements(); } // getKeywords public String[] getKeywords(Object element) { return StringUtilities.stringToWords(((Contact)element).get_contactFirstName()); // return StringUtilities.stringToWords(element.toString()); } // Comparator sorting Contact objects by name final static class ContactsListComparatorByFirstName implements Comparator { public int compare(Object o1,Object o2) { // Sticky Entries Implementation if(((ContactsListObject)o2).getSticky()) { return 1; } else if (((ContactsListObject)o1).getSticky()) { return -1; } else { if(((ContactsListObject)o1).get_contactFirstName().compareTo(((ContactsListObject)o2).get_contactFirstName()) <0) { return -1; } if(((ContactsListObject)o1).get_contactFirstName().compareTo(((ContactsListObject)o2).get_contactFirstName()) >0) { return 1; } else { return 0; } } } } } 解决方法return new Vector(Arrays.asList(elements)); 现在,它可能看起来像是复制数据两次,但是你不是.你得到一个小的临时对象(从asList列表),但是这提供了一个数组的视图.而不是复制它,读写操作将转到原始数组. 可以扩展Vector并戳出其受保护的字段.这将给出一个比较简单的方式,使得Vector成为数组的视图,就像Arrays.asList一样.或者,只需将数据复制到字段中即可.对于Java ME来说,这与在没有编写明显循环的情况下一样好.未验证代码: return new Vector(0) {{ this.elementData = (Object[])elements.clone(); this.elementCount = this.elementData.length; }}; 当然,你可能比一个List比Vector更好. 1.4已完成使用寿命终止期.即使1.5已经完成了EOSL的大部分时间. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |