应检查方法返回值

时间:2015-03-27 21:22:36

标签: java

为什么在这种情况下我收到一条消息"应该检查方法返回值"?

if(!qty.contains("@"))
      mgm.addOrder(date, Integer.parseInt(qty));
else
{
      qty.replace("@", "");
      mgm.addOrder(date, Integer.parseInt(qty));
      mgm.startNew();
}

我收到的消息是:qty.replace(" @","");

if语句检查了@是否存在,还需要什么才能使其完美?

2 个答案:

答案 0 :(得分:5)

String#replace返回表示String操作结果的新replace。您应该将结果分配回String,否则会丢失

qty = qty.replace("@", "");

答案 1 :(得分:4)

qty.replace("@", "")实际上并未更改qty。如果你对结果一无所知,这是一个无操作。

您应该执行以下操作:

qty = qty.replace("@", "");

如果不这样做,则以下表达式将抛出NumberFormatException,因为qty仍然有一个@符号:

Integer.parseInt(qty)