Integer.parseInt(String) 抛出一个 NumberFormatExpression

Integer.parseInt(String) throws a NumberFormatExpression

我正在从一个包含项目名称及其数量的文件中读入。当我尝试将数量转换为 int 时,我得到了 NumberFormatExpression。我觉得这可能是由于 - 标志,但即使在删除 - 之后它仍然会抛出异常

String line = reader.readLine();

while (line != null) {
    String[] delimiter = line.split(",");
    int originalQuantity = Integer.parseInt(delimiter[1]);
    line = reader.readLine();
}

文件内容:

Toilet Papers, -10
Hand sanitizers, 12

您在号码的开头添加了 space。使用trim方法去掉它。

String line = reader.readLine();
while (line != null) {
    String[] delimiter = line.split(",");
    int originalQuantity = Integer.parseInt(delimiter[1].trim()); // <-- trim here
    line = reader.readLine();
}