gpt4 book ai didi

java - URL 作为 Java 对象中的字段

转载 作者:行者123 更新时间:2023-12-01 23:52:01 26 4
gpt4 key购买 nike

我有一个对象,其中包含 String 类型的字段,其值类似于“http://stackoverflow.com

我有一个必须采用URL的方法。因此,我将其包装在一个接受 String 的方法中,然后从 String 构造一个 URL (显然需要将其包装在一次尝试...)

看来应该有更简单的方法。是否可以将我的值作为 URL 而不是 String 存储在对象中?我尝试了这个 public URL url = "http://stackoverflow.com";

是否可以按照这些思路做一些事情?有没有比我原来做的更好的方法?

谢谢

原文:

public String urlString = "http://stackoverflow.com";


public boolean myMethod(String urlString) {
try {
URL newURL = new URL(urlString);
useUrl(newURL);
} catch (MalformedURLException e) {
e.printStackTrace();
}

}

不起作用,但看起来更好:

public URL url = "http://stackoverflow.com";


public boolean myMethod(URL url) {
useUrl(url);
}

最佳答案

Java 不支持隐式转换。如果你想将一种类型转换为另一种类型,你必须明确地这样做

final URL url = new URL("http://stackoverflow.com/");

但是这会引发一个已检查的异常,因此您需要一个像这样的辅助方法

private static final URL url = getUrl("http://stackoverflow.com/");

private static URL getUrl(String spec) {
try {
return new URL(spec);
} catch (MalformedURLException e) {
throw new AssertionError(e);
}
}

或者使用构造函数

private final URL url;

public MyClass(String spec) throws MalformedURLException {
url = new URL(spec);
}

关于java - URL 作为 Java 对象中的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16201636/

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