Насколько я могу сказать, Paths.get
и, Path.of
кажется, делаю то же самое, превращая одну или несколько строк в Path
объект; документация https://docs.oracle.com/javase/8/docs/api/java/nio/file/Paths.html#get-java.lang.String-java.lang.String...- и https: //docs.oracle.com/en/java/javase/13/docs/api/java.base/java/nio/file/Path.html#of(java.lang.String,java.lang.String ... ) используйте ту же формулировку. Они на самом деле идентичны?
Path.of
был введен позже. Гипотеза: это было введено ради последовательного Foo.of
стиля. В таком случае, это будет считаться предпочтительным по согласованности / эстетическим соображениям?
Path.of
потому что это не требует дополнительного импортаОтветы:
Верно,
Path.of
позже был представлен.Из архива списка рассылки этот метод когда-то вызывался
Path.get
:Позже это изменилось, когда Брайан Гетц предложил, чтобы это соответствовало
Foo.of
:Теперь к вашему последнему вопросу: «В таком случае, это будет считаться предпочтительным по согласованности / эстетическим соображениям?»
В первоначальном письме Брайан Буркхальтер сказал, что он обновил все ссылки на новый метод в
Path
:Поэтому я бы пришел к выводу, что
Path.of
действительно предпочтительнееPaths.get
.Действительно, если вы посмотрите на Javadoc
Paths
для Java 13 вы найдете следующее примечание:источник
Paths
. Использование фабричного метода интерфейса уменьшает количество типов, с которыми приходится иметь дело. Стиль именования - это просто еще один момент, который был пересмотрен, поскольку появилась такая возможность.