【发布时间】:2011-04-15 19:48:41
【问题描述】:
我有以下场景:
URL u1 = new URL("http://www.yahoo.com/");
URL u2 = new URL("http://www.yahoo.com");
if (u1.equals(u2)) {
System.out.println("yes");
}
if (u1.toURI().equals(u2.toURI())) {
System.out.println("uri equality");
}
if (u1.toExternalForm().equals(u2.toExternalForm())) {
System.out.println("external form equality");
}
if (u1.toURI().normalize().equals(u2.toURI().normalize())) {
System.out.println("uri normalized equality");
}
这些检查都没有成功。只有路径不同:u1 的路径为“/”,而 u2 的路径为“”。这些 URL 是否指向相同的资源,有没有办法让我在不打开连接的情况下检查这样的事情?我是否误解了有关 URL 的一些基本内容?
编辑 我应该声明需要非 hacky 检查。说空路径 == / 是否合理?我希望没有这种代码
【问题讨论】: