Comment éviter que URL.equals nécessite un accès à Internet en Java?
Question
La méthode equals ()
de la classe d'URL dans la bibliothèque de classes Java envoie une demande DNS pour obtenir l'adresse IP du nom d'hôte, afin de vérifier l'égalité des deux adresses IP. Cela se produit même pour les URL créées à partir du même String
. Existe-t-il un moyen d'éviter cet accès à Internet?
La solution
Utilisez java.net.URI au lieu de l'URL.
Autres conseils
Si vous souhaitez simplement comparer les chaînes de l'URL, essayez
url1.toString().equals(url2.toString())
N'utilisez pas URL.equals. Comme le dit la documentation,
Remarque: le comportement défini pour
égal à
est connu pour être incompatible avec l'hébergement virtuel dans HTTP.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow