Почему игнорируется replace()?

212
08 января 2022, 19:00

Есть метод:

     public String getArgument (String partOfformula){
    partOfformula.toLowerCase();
    String firstArgument = "";
    String secondArgument ="";
    if (partOfformula.contains("(")){
       int startParseIndex=partOfformula.indexOf('(');
       int endParseIndex = partOfformula.indexOf(')');
       for (int i =startParseIndex+1; i < endParseIndex; i++){
           char ch = partOfformula.charAt(i);
           firstArgument = firstArgument.concat("r"+ch);
           if (ch==','){
               startParseIndex= partOfformula.indexOf(ch);
               for(int j =startParseIndex; j<endParseIndex; j++){
                   secondArgument.concat("r"+partOfformula.charAt(j));
               }
           }
       }
    };
   firstArgument.replace("r", "");
   return firstArgument;
  }

}

В нем я пытаюсь распарсить часть формулы, введенной пользователем и получить аргументы.

Например, если пользователь ввел "sin (30)" то метод должен вернуть "30", однако IntelIJ пишет, что

Result of firstArgument.replace ("r", "") is ignored!

и метод возвращает строку "r3r0"Как это можно исправить?

Answer 1

replace не меняет строку, относительно которой вызывается, а возвращает новую строку - измененную, если замена произошла, или такую же, если - нет.

firstArgument = firstArgument.replace("r", "");
READ ALSO
Сравнение объектов класса

Сравнение объектов класса

подскажите имеется объект определенного класса содержащий Map<String,DefaultTableModel> подскажите каким образом можно сравнить два таких объекта,...

164
Получить следующую и предыдущую неделю в календаре

Получить следующую и предыдущую неделю в календаре

Есть активити с двумя кнопками Prev и Next и TextView

166
Не работает javascript в webview на андроид 5 і 6!

Не работает javascript в webview на андроид 5 і 6!

На андроид 5 і 6 не работает javascript:

113
Парсер не выводит русские буквы в TextView

Парсер не выводит русские буквы в TextView

Не могу вывести русские буквы в TextView через парсерИспользую такую комбинацию:

144