java - 将 List<String> 转换为 new Object[]{}

标签 java

我有这个:

data.put(1, 
            new Object[] { listUserColumns.get(field++).getName(), listUserColumns.get(field++).getName(),
            listUserColumns.get(field++).getName(), listUserColumns.get(field++).getName(),
            listUserColumns.get(field++).getName(), listUserColumns.get(field++).getName(),
            listUserColumns.get(field++).getName(), listUserColumns.get(field++).getName(),
            listUserColumns.get(field++).getName(), listUserColumns.get(field++).getName(),
            listUserColumns.get(field++).getName(), listUserColumns.get(field++).getName(),
            listUserColumns.get(field++).getName(), listUserColumns.get(field++).getName(),
            listUserColumns.get(field++).getName(), listUserColumns.get(field++).getName(),
            listUserColumns.get(field++).getName(), listUserColumns.get(field++).getName(),
            listUserColumns.get(field++).getName(), listUserColumns.get(field++).getName(),
            listUserColumns.get(field++).getName(), listUserColumns.get(field++).getName(),
            listUserColumns.get(field++).getName(), listUserColumns.get(field++).getName() });

我想将这个listUserColums(字符串类型的列表)直接转换为新的Object[](java.lang.object类型) >) 但不知道怎么办?

最佳答案

这取决于您想要获得什么,并且从问题中并不清楚。

当您需要获取列表中所有元素的名称数组时,可以使用 Stream<T>

Object[] names = listUserColumns.stream().map(c -> c.getName()).toArray();

但是,无法转换此 listUserColums,因为数组是 ArrayList 的内部表示形式。 。您可以使用此创建一个新数组,其中包含对与列表相同的元素的引用

Object[] elements = listUserColumns.toArray();

在你的例子中,它看起来像 listUserColumns不是List<String> ,这就是为什么这些方法的结果会有所不同(在第一种情况下是字符串数组,在第二种情况下是自定义类型数组)。

关于java - 将 List<String> 转换为 new Object[]{},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51728041/

相关文章:

java - Project Euler #119 加快速度

java - 错误 : Could not write JSON: Class java. util.ArrayList 不是映射的子类型 - Spring 应用程序中序列化为 JSON

java - 移动插入符时保持 JScrollPane (JTextPane) 滚动条在适当的位置吗?

java - 如何支持变量上下文路径?

java - eclipse tomcat 为什么它不断复制 servlet api jar

java - 如何修改代码以在菜单中添加退出选项并保持循环直到被调用?

java - org.openqa.selenium.SessionNotCreatedException : Unable to create session error using GeckoDriver and Firefox through Selenium and Java

用于服务帐户的基于 Java 的 Google App Engine 和 Google Drive API

java - 从另一个android项目调用

java - 如果不缩放 box2d 每米像素会发生什么?