IntelliJ:为什么java.net.InetAddress被弃用Class?

时间:2017-12-01 11:39:53

标签: java intellij-idea inetaddress

我遇到了一些问题。我的程序无法运行,抛出:nullPointException。在其他IDE上它正在运行。

前一天我只是点击一下,我不知道那是什么:( 现在看起来像这样:

InetAddress localHost = Inet4Address.getLocalHost();

但InetAddress正在罢工。

请帮忙,我该怎么撤消这个。

1 个答案:

答案 0 :(得分:0)

在Java 9之前的版本中不推荐使用此方法

https://docs.oracle.com/javase/9/docs/api/java/net/InetAddress.html#getLocalHost--

我在配置错误的机器上看到这种情况失败了。例如你有一个无效的主机文件,虽然它不应该抛出NullPointerException AFAIK。

我做的是捕获UnknownHostException,如果失败则使用"localhost"

https://github.com/OpenHFT/Chronicle-Core/blob/master/src/main/java/net/openhft/chronicle/core/OS.java#L133

private static String getHostName0() {
    try {
        return InetAddress.getLocalHost().getHostName();
    } catch (UnknownHostException e) {
        return "localhost";
    }
}