如何在java中将Vector转换为String数组

jij*_*mas 17 java vector

如何将带有字符串的Vector转换为java中的String数组?

NPE*_*NPE 26

试试Vector.toArray(new String[0]).

PS你有没有理由Vector优先使用ArrayList

  • `new String [vector.size()]`会提供更好的性能,因为`new String [0]`将被丢弃. (9认同)
  • 不,是基于javadoc"如果集合适合指定的数组,则返回其中.否则,将使用指定数组的运行时类型和此集合的大小分配新数组."我自己的基准测试显示new String [0]更快*羞耻**羞耻*. (2认同)

Boh*_*ian 14

Vector<String> vector = new Vector<String>();
String[] strings = vector.toArray(new String[vector.size()]);
Run Code Online (Sandbox Code Playgroud)

请注意,将正确大小的数组传递给new String[vector.size()]方法会更有效,因为在这种情况下,该方法将使用该数组.传入new String[0]导致该数组被丢弃.

这是描述这个的javadoc摘录

参数:
a - 要存储此列表元素的数组(如果它足够大); 否则,为此目的分配相同运行时类型的新数组.