为了账号安全,请及时绑定邮箱和手机立即绑定

Paths.get 与 Path.of

Paths.get 与 Path.of

繁华开满天机 2024-01-17 16:39:30
据我所知,Paths.get似乎Path.of做了完全相同的事情,将一个或多个字符串变成一个Path对象;的文档Paths.get和Path.of使用相同的措辞。它们实际上是相同的吗?Path.of后来介绍的。猜想:是为了Foo.of风格一致而引入的。在这种情况下,从一致性/美观的角度来看,它会被认为是更好的吗?
查看完整描述

1 回答

?
杨__羊羊

TA贡献1943条经验 获得超7个赞

确实Path.of是后来才介绍的。

猜想:是为了Foo.of风格一致而引入的。

从邮件列表存档中,这个方法曾经被调用过Path.get

主要变化是 java.nio.file 中的 Path 和 Paths。

此补丁将 Paths.get() 方法复制到 Path.get() 中的静态方法,并修改前者以调用后者各自的方法。路径规范稍作清理,不再引用路径或路径本身,例如“(参见路径)”。@implSpec 注释被添加到 Paths 中,以指示这些方法只是调用 Path 中的对应方法。
...

后来,当Brian Goetz 建议它与以下内容保持一致Foo.of时,这一点被更改:

另外,Brian Goetz 在列表外建议,如果这些工厂方法被命名为“of”,将会更加一致,所以我认为 webrev 将被更新以查看其外观。

现在回答你的最后一个问题:“在这种情况下,从一致性/美观的角度来看,它会被认为是更好的选择吗?”
在最初的邮件中,Brian Burkhalter 表示,他更新了对新方法的所有引用Path

java.base 中的所有源文件都经过修改,将 Paths.get() 更改为 Path.get() 并删除 Paths 的导入。...

因此我得出的结论Path.of是 确实比 更可取Paths.get
事实上,如果您查看Java 13 的Javadoc,Paths您会发现以下注释:

API 注意
建议Path通过Path.of方法而不是通过get此类中定义的方法来获取 a,因为此类可能在未来版本中被弃用。


查看完整回答
反对 回复 2024-01-17
  • 1 回答
  • 0 关注
  • 50 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信