Como evitar que URL.equals precisa de acesso à internet em Java?
Pergunta
O método equals()
da classe URL na biblioteca de classes Java faz um pedido DNS para obter o IP para o nome do host, para verificar é os dois IP para a igualdade. Isso acontece mesmo para URLs que são criados a partir do mesmo String
. Existe uma maneira de evitar esse acesso à internet?
Solução
Use java.net.URI em vez de URL.
Outras dicas
Se você quiser apenas para comparar as seqüências de URL, tente
url1.toString().equals(url2.toString())
Não use URL.equals. Como a documentação diz:
Nota:. O comportamento definido para
equals
é conhecido por ser inconsistente com hospedagem virtual em HTTP
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow