为什么Path.resolve()在我的代码中不起作用?

时间:2014-03-21 05:24:50

标签: java path nio

这是我的代码:

public static Path changePath(Path pathInput) throws IOException
{
  Path pathOutput = pathInput;
  System.out.println(pathOutput);
  pathOutput.resolve("test.xxx");
  System.out.println(pathOutput);
  return pathOutput;
}

pathInput是一个目录。 pathOutput应该返回一个目录为+ / + test.xxx

的文件

两个System.out.println行都输出相同的字符串; pathInput!

问题可能在于pathOutput = pathInput行。我试图创建一个新的Path()对象,但它说你不能。

问候。

1 个答案:

答案 0 :(得分:2)

Path是不可变的。 As the javadoc states

  

此接口的实现是不可变的,可以安全使用   多个并发线程。

重新分配

pathOutput = pathOutput.resolve("test.xxx");

返回之前。