Java
25
Вклад в тег
git checkout <your_commit_sha>
git checkout -b old-state <your_commit_sha>
checkout
ветку, в которой вы были. (Если вы внесли изменения, при переключении веток, вам придется обращаться с ними соответствующим образом.# Это создаст три отдельных коммита возврата:
git revert <your_commit_sha1> < your_commit_sha2> <your_commit_sha3>
# Это вернет последние два коммита. Также принимает диапазоны:
git revert HEAD~2..HEAD
# Точно так же вы можете отменить ряд коммитов, используя хэши коммитов (не включая первый хеш):
git revert <your_commite_sha>
# Отмена мердж коммита:
git revert -m 1 <merge_commit_sha>
# Чтобы получить только один коммит, вы можете использовать 'rebase -i',
# Или вы можете сделать это вручную (обязательно сделайте это на верхнем уровне вашего репозитория)
# Привести ваш индекс и дерево в нужное состояние, не меняя HEAD:
git checkout <your_target_commit_sha>
# После чего обязательно зафиксируйте коммит. Будьте уверены в том, что вы сделали на 150% и напишите хорошее сообщение с описанием того, что вы только что сделали:
git commit
Зачем считывать файл через Scanner?
Зачем использовать цикл? нельзя взять и всю прочитать без цикла?
Зачем строке происваевать данные файла?
fromJson
мы сохраняем прочитанные данные, а поскольку JSON представляет собой обычный набор текста, то использование типа String более чем подходит для этой операции. Вы также можете использовать коллекции или массивы для этого.Зачем указывать тип объекта в конце?
fromJson
десериализует JSON, прочитанный из Reader'а (в данном случае из строки) в объект класса, указанного вторым аргументом.str
представляет собой неизменяемую последовательность байтов UTF-8 динамической длины где-то в памяти. Поскольку размер неизвестен, его можно обрабатывать только за указателем. Это означает, что str
чаще всего используется как &str
— ссылка на некоторые данные UTF-8, обычно называемые «срезом строки» или просто «срезом». Срез — это просто представление данных, и эти данные могут быть где угодно, например:&'static str.
Данные жестко закодированы в исполняемый файл и загружаются в память при запуске программы.use std::str;
let x: &[u8] = &[b'a', b'b', b'c'];
let stack_str: &str = str::from_utf8(x).unwrap();
String
, если вам требуется владение строковыми данными (например, передача строк в другие потоки или их создание во время выполнения), и используйте &str
, если вам нужно только представление строки.