
下面是一个可能导致这个问题的例子:
java
public class URLTest {
public static void main(String[] args) {
URL url = new URL(""); // 这里创建了一个 location 为 null 的 URL 对象
String externalForm = url.toExternalForm(); // 调用 toExternalForm() 时抛出 NullPointerException
System.out.println(externalForm);
}
}
在这个例子中,我们创建了一个 `URL` 对象,但是没有给它一个有效的 URL 字符串。因此,`location` 属性被设为 `null`。当我们尝试调用 `toExternalForm()` 方法时,就会抛出 `NullPointerException` 异常。
解决这个问题的方法是确保在创建 `URL` 对象时,提供了有效的 URL 字符串:
java
public class URLTest {
public static void main(String[] args) {
URL url = new URL("https://www.example.com"); // 这里提供了有效的 URL 字符串
String externalForm = url.toExternalForm(); // 现在调用 toExternalForm() 不会抛出异常
System.out.println(externalForm);
}
}
总之,在 Java 中,当遇到 `Cannot invoke "java.net.URL.toExternalForm()" because "location" is null` 这样的错误时,通常是因为 `URL` 对象的 `location` 属性没有被正确地初始化。确保在创建 `URL` 对象时提供了有效的 URL 字符串,就可以解决这个问题。
更多文章请关注《万象专栏》
转载请注明出处:https://www.wanxiangsucai.com/read/cv183352