Верно, Path.of
позже был представлен.
Гипотеза: это было введено ради последовательного Foo.of
стиля.
Из архива списка рассылки этот метод когда-то вызывалсяPath.get
:
Основные изменения в пути и пути в java.nio.file.
Этот патч копирует методы Paths.get () в статические методы в Path.get () и модифицирует первый для вызова последних соответствующих методов. Спецификация Path немного очищена, чтобы не ссылаться ни на Paths, ни на себя, например, «(см. Path)». Аннотации @implSpec добавляются в Path, чтобы указать, что методы просто вызывают свои аналоги в Path.
...
Позже это изменилось, когда Брайан Гетц предложил, чтобы это соответствовалоFoo.of
:
Отдельно Брайан Гетц предложил вне списка, что было бы более согласованным, если бы эти фабричные методы были названы «of», поэтому я предполагаю, что webrev будет обновлен, чтобы увидеть, как это выглядит.
Теперь к вашему последнему вопросу: «В таком случае, это будет считаться предпочтительным по согласованности / эстетическим соображениям?»
В первоначальном письме Брайан Буркхальтер сказал, что он обновил все ссылки на новый метод вPath
:
Все исходные файлы в java.base изменены, чтобы изменить Paths.get () на Path.get () и удалить импорт для Paths. ...
Поэтому я бы пришел к выводу, что Path.of
действительно предпочтительнее Paths.get
.
Действительно, если вы посмотрите на Javadoc Paths
для Java 13 вы найдете следующее примечание:
Примечание API :
рекомендуется получать Path
через Path.of
методы, а не через get
методы, определенные в этом классе, так как этот класс может быть устаревшим в будущем выпуске.