Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java path1.resolve(path2)返回path2偶数path2.isAbsolute()=false,且path2不为空_Java_Windows_Nio_Nio2 - Fatal编程技术网

Java path1.resolve(path2)返回path2偶数path2.isAbsolute()=false,且path2不为空

Java path1.resolve(path2)返回path2偶数path2.isAbsolute()=false,且path2不为空,java,windows,nio,nio2,Java,Windows,Nio,Nio2,给定以下代码 Path p1 = Paths.get("\\photos\\vacation"); Path p2 = Paths.get("\\yellowstone"); System.out.println(p1.isAbsolute()); // false System.out.println(p2.isAbsolute()); // false System.out.println(p1.resolve(p2)); // \yellows

给定以下代码

    Path p1 = Paths.get("\\photos\\vacation");
    Path p2 = Paths.get("\\yellowstone");
    System.out.println(p1.isAbsolute());  // false
    System.out.println(p2.isAbsolute());  // false
    System.out.println(p1.resolve(p2));  // \yellowstone
JavaDoc说:

公共抽象路径解析(路径其他)

根据此路径解析给定路径

如果另一个参数是绝对路径,则此方法会简单地返回other

如果other是一个空路径,那么这个方法会简单地返回 路径

否则,此方法将此路径视为目录,并 根据此路径解析给定路径。在最简单的情况下 给定路径没有根组件,在这种情况下,此方法 将给定路径联接到此路径并返回一个结果路径 以给定的路径结束。其中给定路径具有根组件 然后,解决方案高度依赖于实现,因此 未指明


在Windows上运行时,路径不是绝对的,但其结果仍然是重新运行p2;我无法理解那种行为。我遗漏了什么?

他们都说路径不是绝对路径,因为驱动器号(或引用文本称之为“根组件”)缺失。由于
p2
是从驱动器的根目录完全限定的,因此来自
p1
的结果只有一部分是驱动器号,
p1
也没有驱动器号,因此结果与
p2
相同。应该如此!!--但是回答这个问题:如果您不希望结果与
p2
相同,那么您希望结果是什么?您希望用代码实现什么?请注意,它并没有说“如果且仅当其他参数是绝对路径,则此方法很容易返回其他”。正如您所观察到的,在某些情况下,它可以返回p2,即使p2不是绝对值。这是来自oracle OCP认证考试问题的代码