4 ms·
This was discussed over and over, including here on HN in 2019. [1] java.net.URL was introduced in Java 1.0, the very first public release of Java back in 1996
by brunoborges 5y ago
This was discussed over and over, including here on HN in 2019. [1]
java.net.URL was introduced in Java 1.0, the very first public release of Java back in 1996.
In 2001, Java 1.4 included a new class java.net.URI that addressed this and other improvements.
Since then, it is well known by average experienced Java developers to a) read javadocs, b) not use URL class, and c) use URI.
It's been 19 years this problem has been fixed.
As to why not remove it, I'd suggest to dig through the OpenJDK mailing list.
[1] https://news.ycombinator.com/item?id=21765788 https://news.ycombinator.com/item?id=21765788
- fistynuts 5y agoIt's been 19 years since this problem has been fixed and yet the bad code is still there.
- brunoborges 5y agoI'd suggest you assess first the amount of code that depends on java.net.URL both in Java SE itself and then in the ecosystem, before you can say it would be "easy" to remove java.net.URL. Hint: same reasons java.util.Date, and java.util.Vector are still there.
- sandGorgon 5y ago>Since then, it is well known by average experienced Java developers to a) read javadocs, b) not use URL class, and c) use URI P.S. not trying to flame here. so im looking here https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/net/class-use/URL.html https://docs.oracle.com/en/java/javase/17/docs/api/java.base... and I couldnt see any place where it is specifically recommended to NOT use java.net.url and instead use java.net.URI thinking from the perspective of someone new to Java. Also when i search for "java url class" on Google...i only see java.net.url
- EvanKnowles 5y agoYeah, my team of experienced devs were all surprised by this. To the source they went, and found it was true. Not that we'd generally end up hashing a URL, but still.