Как избежать того, что URL.equals нужен доступ в интернет на Java? - PullRequest
10 голосов
/ 13 ноября 2008

Метод equals() класса URL в библиотеке классов Java делает запрос DNS, чтобы получить IP для имени хоста, чтобы проверить равенство двух IP. Это происходит даже для URL, которые созданы из того же String. Есть ли способ избежать этого доступа в интернет?

Ответы [ 3 ]

18 голосов
/ 13 ноября 2008

Используйте java.net.URI вместо URL.

3 голосов
/ 13 ноября 2008

Если вы просто хотите сравнить строки URL, попробуйте

url1.toString().equals(url2.toString())
1 голос
/ 13 ноября 2008

Не используйте URL.equals. Как сказано в документации,

Примечание. Известно, что определенное поведение для equals несовместимо с виртуальным хостингом в HTTP.

...