2008-11-13 3 views

답변

18

사용 java.net.URI 대신 URL을 시도합니다.

+2

그리고 이것은 의미 론적 의미를 만들어줍니다. 왜냐하면 Locations보다는 Identifier를 비교하기를 원하기 때문입니다 – Gareth

1

URL.equals를 사용하지 마십시오. 문서가 말한대로,

참고 : equals에 대한 정의 된 동작은 HTTP 가상 호스트와 일치하지 않는 것이 알려져 있습니다. 그냥 URL 문자열을 비교하려면

+0

평등성 테스트는 어떻게해야합니까? – Mnementh

+2

toString() 또는 toExternalForm()을 사용하여 외부 양식을 가져 와서 비교할 수 있습니다. 예비 테스트는 DNS에 액세스하지 못한다는 것을 보여줍니다. –

+0

방금 ​​빌의 대답을지지했다. URL 객체에서 toURI()를 호출하면됩니다. –

3

,

url1.toString().equals(url2.toString()) 
+0

두 문자열은 크게 다를 수 있지만 동일한 리소스를 가리 킵니다. –

+2

URL로 참조되는 리소스를 확인하려면 인터넷 액세스가 필요합니다. 그러므로 나는 그가 자신들의 URL을 비교하기를 원한다는 가정을했다. 따라서 "URL 문자열 비교를 원한다면"에 대한 나의 자격. – Rick

관련 문제