当前位置: 首页 > 知识库问答 >
问题:

get vs path.of

公良子轩
2023-03-14

据我所知,paths.getpath.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.java.base/java/nio/file/path.html#of(java.lang.string,java.lang.string...)用同样的措辞。它们实际上是一样的吗?

path.of是后来引入的。猜想:引入它是为了保持一致的foo.of样式。在这种情况下,从一致性/美学的角度来看,它会被认为是更可取的?

共有1个答案

子车修平
2023-03-14

实际上,后来引入了path.of

猜想:引入它是为了保持一致的foo.of样式。

在邮件列表存档中,此方法曾被称为path.get:

该修补程序将paths.get()方法复制到path.get()中的静态方法,并修改前者以调用后者的相应方法。对路径规范进行了轻微的清理,不引用路径,也不引用它本身,例如,“(see Path)”。@implspec注释被添加到路径中,以指示方法只是调用它们在路径中的对应项。
...

后来,当Brian Goetz建议它与foo.of保持一致时,这一点发生了变化:

另外,Brian Goetz建议,如果将这些工厂方法命名为“of”会更加一致,所以我假设webrev将会更新,以查看它的外观。

修改java.base中的所有源文件,将paths.get()更改为path.get(),并删除路径的导入。...

因此,我认为path.of确实比paths.get更好。
实际上,如果您查看Javadoc forpathsfor Java13您会发现以下注意:

API注意:
建议通过path.of方法而不是通过此类中定义的get方法获得路径,因为此类可能在未来的版本中不推荐使用。

 类似资料:

相关问答

相关文章

相关阅读