Если вы просто ищете простое решение для исправления предыдущих коммитов, прочитайте вопрос! Это все объясняет. Но так как Эльмарко просил скользкий путь, здесь мы идем:
Начиная с Git 1.7.0, есть опция --autosquash
для rebase
, которая делает то, что ты хочешь. Есть также опции --fixup
и --squash
для commit
, чтобы упростить задачу. С помощью псевдонимов вы, вероятно, сможете объединить все это в одну команду.
Я бы предложил перейти на новейший Git для максимальной крутости:
git/Documentation/RelNotes $ grep -i -A1 autosquash\\\|fixup *
1.7.0.txt: * "git rebase -i" learned new action "fixup" that squashes the change
1.7.0.txt- but does not affect existing log message.
--
1.7.0.txt: * "git rebase -i" also learned --autosquash option that is useful
1.7.0.txt: together with the new "fixup" action.
1.7.0.txt-
--
1.7.3.txt: * "git rebase -i" peeks into rebase.autosquash configuration and acts as
1.7.3.txt: if you gave --autosquash from the command line.
1.7.3.txt-
--
1.7.4.txt: * "git commit" learned --fixup and --squash options to help later invocation
1.7.4.txt- of the interactive rebase.
--
1.7.4.txt: * "git rebase --autosquash" can use SHA-1 object names to name which
1.7.4.txt: commit to fix up (e.g. "fixup! e83c5163").
1.7.4.txt-
Код работает нормально.
Заменить:
System.out.println(array);
С:
System.out.println(Arrays.toString(array));
Вывод:
[b, c, a] [b, c, a]
Представление массива String
отображает «текстовое представление» массива, полученное с помощью Object.toString
, которое является имя класса и хэш-код массива в виде шестнадцатеричной строки.
для полноты проверки также java.util.Arrays.toString и java.util.Arrays.deepToString .
Последнее особенно полезно при работе с вложенные массивы (например, Object [] []).
Все в порядке.
Вы не видите содержимое массива с System.out.println (array), потому что println вызывает object.toString (), чтобы получить байты от объекта для вывода.
Поскольку HashSet переопределяет реализацию toString () по умолчанию, вы можете увидеть содержимое набора с помощью System.out.println (set);
As array не переопределяйте значение по умолчанию toString () (которое дает имя класса и своего рода хэш-код идентификации), вы получите нечеткое [Ljava.lang.String; @ 9b49e6
Надежда, которая поможет
Как упоминалось в dfa, вы можете просто заменить:
System.out.println(array);
на ...
System.out.println(Arrays.toString(array));
У вас правильный результат. К сожалению, toString () - метод в массиве по-прежнему является исходным Object.toString (), поэтому вывод по умолчанию несколько непригоден, но это касается всех массивов.
Не думаю, что вы что-то неправильно поняли; код должен работать. Однако этот массив недостаточно умен, чтобы распечатать его содержимое в методе toString, поэтому вам придется распечатать содержимое с помощью
for(String s : array) println(s);
или чего-то подобного.