Java设置为对象[][]
我有一个集合要用于TestNG参数化测试 我想从{a},{b},{c}开始 我试过:Java设置为对象[][],java,lambda,testng,testng-dataprovider,Java,Lambda,Testng,Testng Dataprovider,我有一个集合要用于TestNG参数化测试 我想从{a},{b},{c}开始 我试过: Set<String> elements = Stream.of("a", "b", "c").collect(Collectors.toSet()); Object[][] elementsArray = (Object[][]) elements.stream() .map(t -> new Object[] {t}) .t
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解决方案也受欢迎。除了创建对象[]的方法引用之外,您做的一切都是正确的。您正在构建一个2D数组,其中1D数组元素包含字符串 改变
Object[]::new
到
完成后,就不需要对对象[]进行强制转换;也删除它。除了创建对象[]的方法引用之外,您做的一切都是正确的。您正在构建一个2D数组,其中1D数组元素包含字符串 改变
Object[]::new
到
完成后,就不需要对对象[]进行强制转换;也要删除它。您所需要的只是对象[]:[]::新的:
使用Object[]::new您正在创建一个Object[],然后将其强制转换为一个将失败的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);