直接来自API:
决心
路径解析(路径其他)
根据此路径解析给定路径。
如果另一个参数是绝对路径,则此方法通常为 返回其他。如果other是一个空路径,那么这个方法很简单 返回此路径。否则,此方法将此路径视为a 目录并解析此路径的给定路径。在里面 最简单的情况是,给定路径没有根组件,其中 case此方法将给定路径连接到此路径并返回a 生成的路径以给定路径结束。 指定路径的位置 根组件然后解决方案高度依赖于实现 因此未指定。
(强调我的)
这里有一点矛盾,首先他们说:
如果另一个参数是绝对路径,那么这个方法 平凡地回归其他。
然后他们说:
如果给定路径具有根组件,则解决方案高度依赖于实现,因此未指定。
绝对路径是否必须包含根组件才能成为这样的组件? 提前谢谢。
答案 0 :(得分:3)
对你的问题的简短回答是否定的,绝对路径不需要有根组件,但是,根据提供者的不同,它可能会。
如果我们查看source code for UnixPath,我们会看到,如果它是一个绝对路径,那么它将返回一个根组件,如果它是一个绝对路径,它将只返回一个根组件。
但是,并不要求以这种方式实施。理论上至少,getRoot()可以返回一些东西,而isAbsolute()则返回false。在此,结果是不确定的。或者,将其放在真值图表中:
Result of resolve() when:
getRoot()==null getRoot()!=null
isAbsolute()==true defined defined
isAbsolute()==false defined undefined