URL.getRef() 和 URI.getFragment() 是一样的吗?

Are URL.getRef() and URI.getFragment() the same?

URL.getRef() 和 URI.getFragment() 一样吗?

如果不是,它们有何不同?

当运行下面测试时,结果是一样的:

String url = "http://c.b.a.com:1234/path?p1=1&p2=2#somewhere";
System.out.println(new URL(url).getRef());
System.out.println(new URI(url).getFragment());

输出:

somewhere
somewhere

是的。他们是一样的东西。 URL 的 javadoc 表示:

A URL may have appended to it a "fragment", also known as a "ref" or a "reference". The fragment is indicated by the sharp sign character "#" followed by more characters.