我正在尝试建立与Web服务器的连接,并检查是否可以从我的计算机访问该服务器。问题是,当我尝试使用InetAddress.getByName(address)时,出现编译错误:

Error:(20, 50) java: cannot find symbol
symbol:   class getByName
location: class java.net.InetAddress


这很奇怪,因为当我开始键入此方法名称时,IntelliJ IDEA会向我显示带有名称建议列表的提示,因此我猜想错误的PATH变量没有问题。当我输入完方法名称后,它立即涂成红色,然后说“无法按名称解析符号”。同时,即使考虑将它放在同一类中,InetAddress.isReachible(100)也不存在这样的问题。实际上,我仅使用公共静态方法(例如InetAddress.getByAddress(),InetAddress.getLoopbackAddress()等)才遇到问题。我认为我可能会使用旧的Java版本,因此我在Windows命令行中键入了Java -version,并且这里说的是:

java version "1.8.0_73"
Java(TM) SE Runtime Environment (build 1.8.0_73-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.73-b02, mixed mode)


这是我的代码:

String url = "http://reddit.com";
    byte [] address = url.getBytes();
    InetAddress inetAddress = new InetAddress.getByName(address);
    try {
        inetAddress.isReachable(100);
    } catch (IOException e) {
        e.printStackTrace();
    }

最佳答案

删除新的。您的代码应为:

InetAddress inetAddress = InetAddress.getByName(address);

关于java - 找不到符号InetAddress.getByAddress(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36490841/

10-10 06:14