URI/URL和String有什么区别?

Sky*_*net 6 java url

这是出于好奇,不需要代码,我尝试使用世界上最好的搜索引擎来获得我的答案,但没有找到任何有价值的东西.

什么是a URI/URL和表示URI/URL的字符串之间的区别?

为什么我们要解析它?

将字符串解析为字符串的URI/URL做法是什么,以便区别对待?

为什么HTTP支持将URL键入为字符串?

Tim*_*m B 6

URI/URL受到约束.要有效,必须遵循某种格式.

通过说他们只接受URI/URL方法说他们接受的字符串必须是那种格式.这也使得"一目了然"方法更加清晰(URL),而不是潜在的任何String.

如果String不是那种格式,那么当您尝试在方法中尝试使用该URL时,当您尝试创建URL对象而不是将来某个未知点时会立即检测到它.

因此,通过这样做,它可以提高类型安全性,使代码更具可读性,并使故障发生在更接近故障的根本原因而不是未来的某个未知点.

您还可以获得从其各个部分正确构造URL,使用URL打开资源等方法.因此,它不仅仅是一个字符串.看看Javadoc,看看它提供了多少种方法:

http://docs.oracle.com/javase/7/docs/api/java/net/URL.html