解析相对于基本 URI 的子 URI

Resolving a sub-URI relative to a base URI

如果我们有:

URI base = new URI("foo/bar");
URI sub = new URI("baz");

我们如何获得相对于基本 URI(即 "foo/bar/baz")的子 URI?

以下不起作用(产生 "foo/baz"):

base.resolve(sub);

您的基本 URI 应以斜杠结尾:new URI("foo/bar/");

如果 URI 不以斜杠结尾,最后一个斜杠之后的所有内容都将被截断。

Specification,如果你够疯狂,或者只是检查URI#resolve代码。