我想我的问题对于这里的人来说很容易回答?问题是当我执行以下代码时:
InetAddress addr;
addr=InetAddress.getByName("192.168.1.1");
Toast.makeText(this,"InetAddress Value: "+addr.toString(),Toast.LENGTH_LONG).show();
addr
价值回报是/192.168.1.1
我想知道我做错了什么?提前致谢!!!
从这里回答。
如果您只想要 IP,请使用主机地址:
String address = InetAddress.getByName("stackoverflow.com").getHostAddress();
如果您只想要主机名,请使用
String hostname = InetAddress.getByName("stackoverflow.com").getHostName();
编辑
您看到的斜线可能是当您尝试打印返回的 InetAddress 时对返回的 InetAddress 执行隐式 toString() 时,它会打印由斜线分隔的主机名和地址(例如 stackoverflow.com/64.34.119.12)。你可以使用
String address = InetAddress.getByName("stackoverflow.com").toString().split("/")[1];
String hostname = InetAddress.getByName("stackoverflow.com").toString().split("/")[0];
但是这里根本没有理由去 String 中介。InetAddress 使这两个字段在本质上是分开的。