正在尝试将 List<List<>> 转换为 Object[][]
Attempting to convert List<List<>> to Object[][]
目前正在尝试将 List> 转换为 Object[][],以便从 excel sheet 中测试多个测试。这是我目前的代码。
@DataProvider(name = "Journey")
public Object[][] generateJourneys() {
Object[][] o = TestVariables.sourceSheet.toArray();
return o;
}
DataProvider 最终应该看起来像
{
{"TableEntry1", "TableEntry2", "TableEntry3"},
{"TableEntry12", "TableEntry13", "TableEntry14"}
}
我有一个单独的方法来像这样提取 excel 文件。
List<List<String>> sourceSheet = ExcelFileHandler.readFromFile("src/resourceSheet.xls");
所以我可以像下面的代码一样拉取第一行,第二列
sourceSheet.get(0).get(1);
怎么样
String[][] o = sourceSheet.stream()
.map(l -> l.stream().toArray(String[]::new))
.toArray(String[][]::new);
对于 sourceSheet 中的每个嵌套列表,将创建一个新数组,将其复制并添加到 o
如果我理解了这个问题,你需要将 List 的 List 转换为 Object[][]。
试试这个
Object[][] convert(List<List<Object>> lists) {
Object[][] array = new Object[lists.size()][];
for (int i = 0; i < array.length; i++) {
array[i] = new Object[lists.get(i).size()];
lists.get(i).toArray(array[i]);
}
return array;
}
目前正在尝试将 List> 转换为 Object[][],以便从 excel sheet 中测试多个测试。这是我目前的代码。
@DataProvider(name = "Journey")
public Object[][] generateJourneys() {
Object[][] o = TestVariables.sourceSheet.toArray();
return o;
}
DataProvider 最终应该看起来像
{
{"TableEntry1", "TableEntry2", "TableEntry3"},
{"TableEntry12", "TableEntry13", "TableEntry14"}
}
我有一个单独的方法来像这样提取 excel 文件。
List<List<String>> sourceSheet = ExcelFileHandler.readFromFile("src/resourceSheet.xls");
所以我可以像下面的代码一样拉取第一行,第二列
sourceSheet.get(0).get(1);
怎么样
String[][] o = sourceSheet.stream()
.map(l -> l.stream().toArray(String[]::new))
.toArray(String[][]::new);
对于 sourceSheet 中的每个嵌套列表,将创建一个新数组,将其复制并添加到 o
如果我理解了这个问题,你需要将 List 的 List 转换为 Object[][]。
试试这个
Object[][] convert(List<List<Object>> lists) {
Object[][] array = new Object[lists.size()][];
for (int i = 0; i < array.length; i++) {
array[i] = new Object[lists.get(i).size()];
lists.get(i).toArray(array[i]);
}
return array;
}