文字列のリストを使用して、Excelシート内の文字列を一致させ、内側のリストにセル要素を追加しようとしています。ループを使用して外側のリストに内側のリストを追加する。Javaを使用してリストにリストを追加できません
[TC_0003, login, createUser, deleteUser]
[TC_0003, login, createUser, deleteUser]
まず追加リストlistTestSteps
として
public static List<ArrayList<String>> getKeywords(List<String> testCaseIdList, String fileName, String sheetName){
try {
ArrayList<String> listTestSteps = new ArrayList<String>();
List<ArrayList<String>> listTestCases = new ArrayList<ArrayList<String>>(0);
Sheet sheetKW = ReadExcelFile.readExcel(ST_KEYWORDS);
String columnValue = null;
int matchFlag, addListFlag = 0;
for(String testCaseId : testCaseIdList) {
Iterator<Row> rowIterator = sheetKW.rowIterator();
listTestSteps.clear();
while(rowIterator.hasNext()) {
Row rowNext = (Row) rowIterator.next();
Iterator<Cell> cellIterator = rowNext.cellIterator();
matchFlag = 0;
addListFlag = 0;
//listTestSteps.clear();
while(cellIterator.hasNext()) {
Cell nextCell = cellIterator.next();
columnValue = nextCell.getStringCellValue();
//System.out.println("Column value " +columnValue);
if((columnValue.equalsIgnoreCase(testCaseId)) && (columnValue != "")) {
matchFlag = 1;
}
if(matchFlag == 1 && columnValue != "") {
listTestSteps.add(columnValue);
addListFlag = 1;
System.out.println("Add Value : "+columnValue);
}
}
if((listTestSteps.isEmpty() == false) && (addListFlag == 1)) {
System.out.println("Adding to the Main list");
listTestCases.add(listTestSteps);
//listTestCases.forEach(System.out::println);
}
}
}
//listTestSteps.forEach(System.out::println);
// Return ArrayList of ArrayLists
return listTestCases;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
私は出力を取得しています下のコードを参照してください最後の反復リストに置き換えられつつあります。
予想される出力は [[TC_0002, login, createUser, deleteUser, newUser], [TC_0003, login, createUser, deleteUser]]
確かに間違っています。どんな助けもありがとう。ループあなたが常に同じリストを使用することができますので、全ての反復であなただけの空と同じリストを補充し、外側のリストに追加で
listTestSteps.clear();
命令を使用して
このステップは正確に失敗しますか? – XtremeBaumer
それは失敗していません。リストの 'listTestCases'は最新の' listTestSteps'に置き換えられています。代用する代わりに追加されない。 – avirup
あなたが読んだり印刷した値は正しい値ですか? – XtremeBaumer