为什么在这种情况下我收到一条消息"应该检查方法返回值"?
if(!qty.contains("@"))
mgm.addOrder(date, Integer.parseInt(qty));
else
{
qty.replace("@", "");
mgm.addOrder(date, Integer.parseInt(qty));
mgm.startNew();
}
我收到的消息是:qty.replace(" @","");
if语句检查了@是否存在,还需要什么才能使其完美?
答案 0 :(得分:5)
String#replace
返回表示String
操作结果的新replace
。您应该将结果分配回String
,否则会丢失
qty = qty.replace("@", "");
答案 1 :(得分:4)
qty.replace("@", "")
实际上并未更改qty
。如果你对结果一无所知,这是一个无操作。
您应该执行以下操作:
qty = qty.replace("@", "");
如果不这样做,则以下表达式将抛出NumberFormatException
,因为qty
仍然有一个@
符号:
Integer.parseInt(qty)