我正在尝试连接到网络服务器并检查它是否可以从我的计算机访问。问题是当我尝试使用 InetAddress.getByName(address) 时出现编译错误:
Error:(20, 50) java: cannot find symbol
symbol: class getByName
location: class java.net.InetAddress
这很奇怪,因为当我开始输入这个方法名称时,IntelliJ IDEA 向我显示了一个带有名称建议列表的提示,所以我猜 PATH 变量错误没有问题。当我完成输入方法名称时,它会立即涂成红色并说“无法按名称解析符号”。同时, InetAddress.isReachible(100) 没有这样的问题,即使考虑到它被放在同一个类中。实际上,我只遇到公共(public)静态方法的问题,例如 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/