示例代码:
java.net.URI.create("http://测试.com").getHost(); // return null
new java.net.URL("http://测试.com").getHost(); // return "测试.com"
- 实际:URI不能解析IRI
- 预期:两者都会回归"测试.com"
相关文件:
在javadoc of URI中,提到它支持:
其他不在US-ASCII字符集中的Unicode字符不是控制字符(根据character.isISOControl方法),也不是空格字符(根据character.isSpaceChar方法)(与RFC 2396的偏差,仅限于US-ASCII)
众所周知
抽象地说,每个URL都是一个URI,但不是每个URI都是一个URL.
因此,上述行为似乎并不符合预期.