#java
Вопрос:
Я получаю ошибку, связанную с методом замены. Могу ли я вызвать другой метод внутри списка аргументов другого метода?
String str="Candy"; String newStr = ""; for(int i=0; ilt;str.length();i ){ newStr = str.replace(str.charAt(i),""); }```
Комментарии:
1. Какая у Вас ошибка ?
2. Это возможно. Единственная недопустимая вещь здесь заключается в том, что вы предоставляете a
char
в качестве первого аргумента (str.charAt(i)
) и aString
в качестве второго аргумента (""
)replace
. Вы могли бы использоватьString.valueOf(str.charAt(i))
вместо этого.
Ответ №1:
str.charAt(i)
возвращает a char
и String#replace
принимает a String
в качестве своего первого аргумента. Переработайте его, чтобы
newStr = str.replace(String.valueOf(str.charAt(i)),"");
Ответ №2:
Ваша проблема не связана с «другим методом внутри списка аргументов другого метода».
Этот звонок
str.replace(str.charAt(i),"");
нужен метод, соответствующий
String replace(char, String);
Такого метода не существует. Существуют методы, соответствующие
String replace(char, char); String replace(String, String);
(Незначительные вольности, принятые в интересах простоты; фактические методы имеют аргументы последовательности символов, а не строки, но это не влияет на ответ)