为什么java.net.URI不解析授权部分?

为什么java.net.URI不解析授权部分?,java,parsing,uri,Java,Parsing,Uri,为什么以下代码在索引0:8.8.8.8:80的方案名称中打印非法字符 试试看{ URI=新URI(“8.8.8.8:80”); System.out.println(uri.getAuthority()); }捕获(例外e){ System.out.println(e.getMessage()); } 是否接受数字地址?在上,示例列表telnet://192.0.2.16:80/作为有效的URI示例。另外,ForURI类表示该方案是可选的 在最高级别,字符串形式的URI引用(以下简称“URI”

为什么以下代码在索引0:8.8.8.8:80的方案名称中打印非法字符

试试看{
URI=新URI(“8.8.8.8:80”);
System.out.println(uri.getAuthority());
}捕获(例外e){
System.out.println(e.getMessage());
}
是否接受数字地址?在上,示例列表
telnet://192.0.2.16:80/
作为有效的URI示例。另外,ForURI类表示该方案是可选的

在最高级别,字符串形式的URI引用(以下简称“URI”)具有以下语法

[方案:]方案特定部分[#片段]


显然,
特定于方案的部分
包括
/
,因此如果没有它,解析将失败。当字符串定义为“//8.8.8:80”时,正如预期的那样,输出为“8.8.8.8:80”