有时,由于收集到的错误数据,通过以下方法生成的行在保存时最终看起来像这样:“,-1,0”或类似名称(无名称,ID为-1,级别为115或类似)其他。 (这些行的格式如下(不包括引号):“名称,id,级别”(例如:“荣誉卫士,5514,115”)

我需要做的是删除monstersToAdd中包含-1的所有字符串。
我已经尝试过了,但是没有成功:

private void combineInfo() {
    for(int i = 0; i < monsterList.size(); i++){
        monstersToAdd.add("" + names[i] + "," + IDs[i] + "," + levels[i]);
    }
    monstersToAdd.remove(monstersToAdd.contains("-1"));
}


monstersToAdd.remove(monstersToAdd.contains("-1"));行,我试图删除monstersToAdd中包含“ -1”的所有字符串。但是,这可能不起作用,可能是出于很好的原因,我很遗憾还不知道。

我真的很感激任何输入:)。

最佳答案

如果您甚至不添加它们,则比添加和删除它们更容易,因此在添加ID名称和级别之前要先检查它们的完整性

private void combineInfo() {
for(int i = 0; i < monsterList.size(); i++){
    //add only if name is non empty, ID is not negative and level is below 100
    if(!(names[i].isEmpty() || IDs[i]<0 || levels[i]>100))
    monstersToAdd.add("" + names[i] + "," + IDs[i] + "," + levels[i]);
}

09-06 02:16