我有这个:
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/