Класс свойств Java неупорядочен.Это хорошо в теории, поскольку предполагается сохранить «набор свойств» и, следовательно, не заботиться о порядке расположения свойств в наборе.
На практике не очень хорошо, когда вы часто сталкиваетесь со сценариями, в которых упорядочение имеет значение, например проверка файлов в контроле исходного кода и получение «ложноположительных» изменений, вызванных переупорядочением свойств в файле свойств.
Вы можете либо написать некоторый пользовательский код, чтобы перебрать строки в файле, и самостоятельно изменить эту строку, либо вы можете выбрать использование пользовательского класса, например:
https://github.com/etiennestuder/java-ordered-properties
, который заменяет класс свойств java, делает нормальные вещи и продолжает упорядочивать.Вышеупомянутый проект github также исправляет еще одну «особенность» персистентности свойств java, которая заключается в том, что он записывает дату в файл свойств, что, опять же, приводит к ложным положительным изменениям.
Это беспокоило меня в течение некоторого времени.Рад, что кто-то пошел вперед и написал вышеуказанное исправление.