Почему в этом случае я получаю сообщение "Должен проверить возвращаемое значение метода"?
if(!qty.contains("@"))
mgm.addOrder(date, Integer.parseInt(qty));
else
{
qty.replace("@", "");
mgm.addOrder(date, Integer.parseInt(qty));
mgm.startNew();
}
Я получаю это сообщение: qty.replace("@", "");
Оператор if проверял, есть ли @, что еще мне нужно, чтобы сделать его идеальным?
String#replace
возвращает новую String
представляющую результаты операции replace
. Вы должны вернуть результаты в String
, иначе они будут потеряны
qty = qty.replace("@", "");
qty.replace("@", "")
фактически не изменяет qty
. Это не-op, если вы ничего не делаете с результатом.
Вы должны сделать что-то вроде:
qty = qty.replace("@", "");
Если вы этого не сделаете, следующее выражение будет NumberFormatException
, потому что qty
все еще имеет знак @
:
Integer.parseInt(qty)
qty.replace("@", "")
самом деле не меняетqty
.qty = qty.replace("@", "");
если вы ничего не делаете с результатом, а не, например,qty = qty.replace("@", "");
,