用列表数据填充数组

发布于 2024-08-27 03:49:36 字数 223 浏览 8 评论 0原文

如何用一个列表提供的数据填充数组?

例如,我有一个包含字符串的列表:

List l = new ArrayList<String>();
l.add("a");
l.add("b");
l.add("c");

然后我想将此数据复制到字符串数组中:

String[] array = ?

How can I fill a array with the data provided by one List?

For example, I have a List with Strings:

List l = new ArrayList<String>();
l.add("a");
l.add("b");
l.add("c");

then I want to copy this data into a String array:

String[] array = ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

垂暮老矣 2024-09-03 03:49:36

有一个 toArray列表中的 () 方法...
您必须首先分配一个适当大小的数组(通常是 list.size()),然后将其作为参数传递给 toArray 方法。该数组将使用列表内容进行初始化。

例如:

String[] myArray = new String[myList.size]();
myList.toArray(myArray);

您还可以在 toArray 的括号内进行 new 调用

There's a toArray() method in list...
You have to first allocate an array of an appropriate size (typically list.size()), and then pass it to the toArray method as a parameter. The array will be initialized with the list content.

For example:

String[] myArray = new String[myList.size]();
myList.toArray(myArray);

You can also do the new call inside the parentheses of toArray

囚你心 2024-09-03 03:49:36

首先,您必须指定 List 的具体类型 - List(不要保留原始类型)。

然后,你可以做

String[] array = list.toArray(new String[list.size()]);

First, you have to specify the concrete type of the List - List<String> (don't leave it raw).

Then, you can do

String[] array = list.toArray(new String[list.size()]);
春庭雪 2024-09-03 03:49:36

您可以使用 toArray(T[] a) 方法:

String[] arr = list.toArray(new String[0]);

或者交替:

String[] arr = list.toArray(new String[list.size()]);

两者的区别在于后者可能不需要分配新的数组。


Effective Java 第二版:第 23 条:不要在新代码中使用原始类型。

JLS 4.8 原始类型

仅允许使用原始类型作为对遗留代码兼容性的让步。强烈建议不要在 Java 编程语言中引入泛型性之后编写的代码中使用原始类型。 Java 编程语言的未来版本可能会禁止使用原始类型。


不要养成命名标识符 l 的习惯。它看起来非常像 1

You can use the toArray(T[] a) method:

String[] arr = list.toArray(new String[0]);

Or alternately:

String[] arr = list.toArray(new String[list.size()]);

The difference between the two is that the latter may not need to allocate a new array.


Effective Java 2nd Edition: Item 23: Don't use raw types in new code.

JLS 4.8 Raw Types

The use of raw types is allowed only as a concession to compatibility of legacy code. The use of raw types in code written after the introduction of genericity into the Java programming language is strongly discouraged. It is possible that future versions of the Java programming language will disallow the use of raw types.


Don't make a habit of naming an identifier l. It looks an awful lot like 1.

吹泡泡o 2024-09-03 03:49:36

语法有点傻;您必须提供自己创建的数组作为输入。

String[] array = l.toArray(new String[l.size()]);

Syntax is a little goofy; you have to provide your own created array as input.

String[] array = l.toArray(new String[l.size()]);
花伊自在美 2024-09-03 03:49:36
String[] array = new String[l.size()];
l.toArray(array);
String[] array = new String[l.size()];
l.toArray(array);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文