Paths.get vs Path.of
据我所知,似乎做了完全相同的事情,将一个或多个字符串变成一个对象;Paths.get
和 Path.of 的文档
使用相同的措辞。它们实际上是相同的吗?Paths.get
Path.of
Path
Path.of
是后来引入的。
猜想:它的引入是为了一致的风格。在这种情况下,从一致性/美学角度来看,是否更可取?Foo.of
据我所知,似乎做了完全相同的事情,将一个或多个字符串变成一个对象;Paths.get
和 Path.of 的文档
使用相同的措辞。它们实际上是相同的吗?Paths.get
Path.of
Path
Path.of
是后来引入的。
猜想:它的引入是为了一致的风格。在这种情况下,从一致性/美学角度来看,是否更可取?Foo.of
事实上,后来被引入。Path.of
猜想:它的引入是为了一致的风格。
Foo.of
从邮件列表存档中,此方法曾经称为 Path.get
:
中的主要更改是在java.nio.file中的Path和Path中。
此修补程序将 Paths.get() 方法复制到 Path.get() 中的静态方法,并修改前者以调用后者各自的方法。Path 规范稍微清理了一下,既不引用 Paths,也不引用其本身,例如,“(请参阅 Path)”,@implSpec注释被添加到 Path 中,以指示这些方法只是在 Path 中调用它们的对应项。
...
后来,当Brian Goetz建议它与Foo.of
一致时,这种情况发生了变化:
另外,Brian Goetz建议,如果将这些工厂方法命名为“of”,它将更加一致,因此我假设webrev将更新以查看其外观。
现在回到你的最后一个问题:“在这种情况下,基于一致性/美学原因,它会被认为是可取的吗?
在最初的邮件中,Brian Burkhalter说他更新了对新方法的所有引用:Path
java.base 中的所有源文件都将被修改,以将 Paths.get() 更改为 Path.get() 并删除 Paths 的导入。...
因此,我的结论是,这确实比.
事实上,如果你看看Javadoc for Paths
for Java 13,你会发现这个注释:Path.of
Paths.get
API 注意:
建议通过方法获取 a,而不是通过此类中定义的方法获取,因为此类在将来的版本中可能会被弃用。Path
Path.of
get