gpt4 book ai didi

java - 如何创建静态最终 java.net.URL?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:26:55 24 4
gpt4 key购买 nike

我的问题很简单。我正在尝试制作一组​​ java.net.URL,它们是 public static final,这样任何类都可以从任何上下文访问它们,因为这些 URL 获胜' 在运行时改变。但是,当我尝试创建它们时,出现编译器错误,告诉我必须捕获或声明抛出的 java.net.MalformedURLException,但在方法之外这是不可能的。 有什么方法可以绕过这种抛出非java.lang Throwable 的构造函数吗?

下面的一些虚拟代码可视化我的问题:

public class Main
{
public static final java.net.URL STATIC_URL = new java.net.URL("http://example.com/");
public static void main(String[] args)
{
GUI gui = new GUI();
gui.setVisible(true);
}
}
public class GUI extends java.awt.Window
{
public GUI()
{
add(new java.awt.Label(Main.STATIC_URL.toString()));
}
}

如果你尝试编译这个,它会告诉你你不能因为第 3 行。因此我的问题。

最佳答案

我更喜欢@HosamAly 方法的“替代方法”:

private static final java.net.URL STATIC_URL = makeUrl("http://www.example.com");

public static java.net.URL makeUrl(String urlString) {
try {
return new java.net.URL(urlString);
} catch (java.net.MalformedURLException e) {
return null; //Or rethrow an unchecked exception
}
}

关于java - 如何创建静态最终 java.net.URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8396646/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com