Come evitare che URL.equals necessiti dell'accesso a Internet in Java?
Domanda
Il metodo equals ()
della classe URL nella libreria di classi Java effettua una richiesta DNS per ottenere l'IP per il nome host, per verificare l'uguaglianza dei due IP. Ciò accade anche per gli URL creati dalla stessa String
. C'è un modo per evitare questo accesso a Internet?
Soluzione
Usa java.net.URI anziché URL.
Altri suggerimenti
Se vuoi solo confrontare le stringhe dell'URL, prova
url1.toString().equals(url2.toString())
Non utilizzare URL.equals. Come dice la documentazione,
Nota: il comportamento definito per
uguale a
è noto per essere incoerente con l'hosting virtuale in HTTP.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow