Подсказки для java.lang. Проблема String.replace? [дубликат]

Необходимо добавить их всех отдельно. С другой стороны, если Вы действительно потребность просто определить каталог, можно не сотрясать все в один dir и добавить это к пути к классу. Я не рекомендую этот подход однако, поскольку Вы рискуете причудливыми проблемами в управлении версиями пути к классу и unmanagability.

15
задан CL23 22 July 2009 в 17:29
поделиться

5 ответов

Вам необходимо вернуть новое значение переменной.

double myDouble = myObject.getDoubleMethod(); // returns 38.1882352941176
System.out.println(myDouble);

String myDoubleString = "" + myDouble;
System.out.println(myDoubleString);

myDoubleString = myDoubleString.replace(".", ",");
System.out.println(myDoubleString);

myDoubleString = myDoubleString.replace('.', ',');
System.out.println(myDoubleString);
20
ответ дан 1 December 2019 в 00:23
поделиться

Исходная строка не изменяется. Вызов возвращает измененную строку, поэтому вам необходимо сделать следующее:

String modded = myDoubleString.replace(".",",");
System.out.println( modded );
11
ответ дан 1 December 2019 в 00:23
поделиться

Всегда помните, строки неизменяемы. Они не могут измениться. Если вы вызываете метод String, который каким-то образом его изменяет, вам необходимо сохранить возвращаемое значение. Всегда.

Я помню, как меня несколько раз ловили на этом в Uni :)

3
ответ дан 1 December 2019 в 00:23
поделиться

replace возвращает новую строку (поскольку String неизменяема в Java):

String newString = myDoubleString.replace(".", ",");
5
ответ дан 1 December 2019 в 00:23
поделиться

Главный вопрос - почему не использовать DecimalFormat вместо замены строки?

10
ответ дан 1 December 2019 в 00:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: