Name: yyC67448 Date: 01/29/98
The java.net.URL.equals(URL) returns true when the URL without an anchor is
compared with the same URL with the anchor added.
For example equals returns true on following two urls:
http://web2.javasoft.com/index.html
http://web2.javasoft.com/index.html#SomeAnchor
Source code inspection shows, that anchors are not compared, when the current
object has no anchor specified.
Here is the test demonstrating the bug:
-------------------------------- Test.java -----------------------------
import java.net.*;
class test
{
public static void main(String args[])
{
URL url = null;
URL url1 = null;
try {
url = new URL("http://web2.javasoft.com/index.html");
url1 = new URL("http://web2.javasoft.com/index.html#SomeAnchor");
} catch(Exception e)
{
System.out.println("Unexpected exception :" + e);
System.exit(-1);
}
if(url1.equals(url))
{
System.out.println("Failed. ");
System.exit(-1);
}
if(!url.equals(url1))
{
System.out.println("OKAY");
System.exit(0);
}
else
{
System.out.println("Failed. ");
System.exit(-1);
}
}
}
---------------------- Output from the test --------------------
Failed.
-----------------------------------------------------------------
======================================================================
- duplicates
-
JDK-4028144 URL.equals() is not symmetric in checking references
- Closed