繁体   English   中英

Java设置为Object [] []

[英]Java Set to Object[][]

我有一个Set<String> ,我想将其用于TestNG参数化测试。

我想从<"a", "b", "c">转到{{"a"}, {"b"}, {"c"}}

我试过了:

Set<String> elements = Stream.of("a", "b", "c").collect(Collectors.toSet());

Object[][] elementsArray = (Object[][]) elements.stream()
                .map(t -> new Object[] {t})
                .toArray(Object[]::new);

但这不起作用。 关于如何实现这一目标的任何指针? 也欢迎非lambda解决方案。

除了创建Object[][]的方法引用之外,您所做的一切都正确。 您正在使用包含字符串的1D数组元素构造2D数组。

更改

Object[]::new

Object[][]::new

一旦完成,就不需要强制转换为Object[][] 也将其删除。

您只需要Object[][]::new

Set<String> elements = Stream.of("a", "b", "c").collect(Collectors.toSet());

Object[][] elementsArray = elements.stream()
                .map(t -> new Object[] {t})
                .toArray(Object[][]::new);

使用Object[]::new您可以创建Object[] ,然后将其强制转换为Object[][] (这将失败)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM