Как избежать, чтобы URL.equals нуждался в доступе к Интернету на Java?

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

Ответ 1

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

Ответ 2

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

url1.toString().equals(url2.toString())

Ответ 3

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

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