JavaRush /Java блог /Архив info.javarush /Перестановка строк
Yevgen74
17 уровень

Перестановка строк

Статья из группы Архив info.javarush
Кто нибудь может объяснить, почему не работает такая функция: private static void swap(String a, String b) { String c = a; a = b; b = c; } Логика моих рассуждений такая. На вход подаются две ссылочных переменных (String a, String b), которые ссылаются на строки из массива String[] array; Внутри функции ссылки переставляются. Т.е. переставляются в массиве. Значит при распечатке массива после применения функции swap(String a, String b) к двум любым элементам строки должны поменяться местами, но этого почему-то не происходит. Помогите пожалуйста понять, ПОЧЕМУ?
Комментарии (9)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
EmperioAf Уровень 26
22 декабря 2014
Дебаг в помощь)
Строки не переставляются потому что от того, что ты в swap написал:
a = b;
        b = c;

два любых элемента твоего строкового массива не поменяются местами.