在java中是否有一个无异常检查的URL解析实用程序?
编辑:似乎我在第一次听上去太恼火了,这里是一个返工
我想创建一个URL常量,如下所示
public static final URL REMOTE_URL = new URL("http://example.com/");
但是我不能,因为构造函数抛出了一个已检查的异常。现在我用
public static final URL REMOTE_URL = createUrl("http://example.com/");
private static URL createUrl(String url) {
try {
return new URL(url);
} catch (MalformedURLException error) {
throw new IllegalArgumentException(error.getMessage(), error);
}
}
但感觉就像是重新发明轮子。我不可能是唯一一个想使用URL常量的人不?所以我想知道是否有第三方工具箱库(比如guava或ApacheCommons,或者其他什么东西),或者更好的,标准Java中包含这些工具的东西?当我们开始一个新项目时,通过减小util包的大小,这将对我有所帮助:)
# 1 楼答案
您不能扩展URL,因为它是最终的,但您可以创建一个新类,可能名为MyURL,并让它将URL方法代理给私有(或受保护)URL成员
以下是此类课程的开始:
# 2 楼答案
因为其他人只是在评论,我会给出答案,不,没有标准的方法来做你想做的事情:)
另外,既然你提到了apache commons和google guava,我想指出的是,标准也不是正确的词。。。。也许你想要开源的、免费的,或者只是第三方的
# 3 楼答案
这种抱怨肯定很常见,因为Java(从1.7开始)引入了URI类。这个类有两种构建方式:
对于已知来自安全源的URI/URL,您可以使用该URI。create()变量,不必担心捕获异常,因为您知道它不会被抛出
不幸的是,有时你不能使用URI,你仍然需要一个URL。到目前为止,还没有一种标准方法(我已经找到了)可以将URI转换为不引发选中异常的URL
# 4 楼答案
只是把这个放在混合中——完成同样的事情有很多风格上的变化,这个在静态init块中初始化,但它不可能是最终的