Java将Object []数组转换为向量

将Object数组转换为Vector的最佳方法是什么?

JDE <1.5

public Vector getListElements()

{

Vector myVector = this.elements;

return myVector;

}

this.elements是一个Object []

谢谢,雷特

我的目标平台是黑莓。

不支持。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));

现在,好像您要复制两次数据,但实际上并非如此。您确实得到了一个小的临时对象(List来自的asList),但这提供了阵列的视图。而不是复制它,读和写操作将遍历原始数组。

可以扩展Vector和戳戳它的protected领域。就像这样,这将提供一种相对简单的方式使其Vector成为阵列视图Arrays.asList。或者,只需将数据复制到字段中。对于Java

ME,这几乎不需要编写明显的循环就可以了。未经测试的代码:

return new Vector(0) {{

this.elementData = (Object[])elements.clone();

this.elementCount = this.elementData.length;

}};

当然,使用a List比使用a可能更好Vector。1.4已结束其使用寿命。甚至1.5版也已完成了大部分EOSL期间。

以上是 Java将Object []数组转换为向量 的全部内容, 来源链接: utcz.com/qa/400907.html

回到顶部