第一次解析后,这个想法会依赖于操作系统缓存吗?但这似乎效率低下,在多个域名解析到同一个IP的情况下,可能不正确。我错过了什么吗?
最后,对于Java应用程序开发人员的真正答案是直接使用URI类。(真正的软件工程既要尽力完成工作,也不要抱怨提供给你的工具。)
1 - 当我在上面说"不能"时,我的意思是理论上不可能。处理一些更困难的情况需要改变HTTP协议。即使某个(假想的)未来版本的HTTP“修复”了这个问题,我们仍然会在20年后处理遗留的HTTP服务器......因此URL.equals仍然会出现问题。
hashCode()
与equals()
密切相关。关于这种行为的解释在equals()
文档中描述如下:URL
是错误的,即使它的设计是出于良好的意图,但我还是要赞成解释为什么URL
会以这种方式运作。 - C. K. Young