【发布时间】:2012-09-19 08:56:28
【问题描述】:
这两个url应该是一样的:
http://localhost?asdf=1&qwer=2
http://localhost?qwer=2&asdf=1
但是使用 URL 类中的“equals()”,我知道它们是不同的。如何比较它们?
编辑:关于这个问题的一些背景
我正在为一些 url 映射创建一个 Selenium 测试。我有旧的 url,它应该映射到的 url 和实际的 url。我需要将应该的 url 与实际的 url 进行比较。 url 列表由客户端创建。如果参数列表相同,并且它们都具有正确的值(这些参数的顺序无关),则具有相同参数和值的 URL 被认为是有效的
【问题讨论】:
-
这两个 URL 对我来说是不同的(以及对许多其他人来说:)),这就是 URL 类中的 equals 方法为此返回 false 的原因。您应该编写自己的方法来比较查询参数并据此返回结果。
-
它们实际上是一样的。参数的顺序对任何 J2EE 应用程序都没有影响。