简单总结一下InetAddress对象产生的几种方式
代码
package com.demo;
import java.net.InetAddress;
import java.net.UnknownHostException;
/**
*
* @author Lynn
* 1、getByName()和getByAddress()方法的使用;
* 2、getLocalHost()方法;
* 3、getLoopbackAddress()方法;
* 4、注意第三种方式和第四种方式;
*
*/
public class Demo01 {
public static void main(String[] args) throws UnknownHostException {
System.out.println("-----第一种方式-------");
// 第一种方法:通过域名来获取IP对象(包括域名+IP地址)
InetAddress inet1 = InetAddress.getByName("www.baidu.com");
System.out.println("IP对象:" + inet1);
// 获取对应的IP
System.out.println("域名:" + inet1.getHostName());
System.out.println("IP地址:" + inet1.getHostAddress());
System.out.println("-----第二种方式-------");
// 第二种方法:请注意后面byte数组的写法(参看:https://blog.csdn.net/ling376962380/article/details/72824880)
InetAddress inet2 = InetAddress.getByAddress("www.baidu.com", new byte[] { (byte) 180, 97, 33, 107 });
System.out.println("IP对象:" + inet2);
System.out.println("域名:" + inet2.getHostName());
System.out.println("IP地址:" + inet2.getHostAddress());
System.out.println("-----第三种方式-------");
// 第三种方法:通过IP地址字符串
InetAddress inet3 = InetAddress.getByName("180.97.33.107");
System.out.println("IP对象:" + inet3);
System.out.println("域名:" + inet3.getHostName());
System.out.println("IP地址:" + inet3.getHostAddress());
System.out.println("-----第四种方式-------");
// 第四种方法:通过IP地址字符串
InetAddress inet4 = InetAddress.getByAddress(new byte[] { (byte) 180, 97, 33, 107 });
System.out.println("IP对象:" + inet4);
System.out.println("域名:" + inet4.getHostName());
System.out.println("IP地址:" + inet4.getHostAddress());
System.out.println("------获取本机的----");
InetAddress inet5 = InetAddress.getLocalHost();
System.out.println("IP对象:" + inet5);
System.out.println("域名:" + inet5.getHostName());
System.out.println("IP地址:" + inet5.getHostAddress());
System.out.println("----获取回环地址----");
InetAddress inet6 = InetAddress.getLoopbackAddress();
System.out.println("IP对象:" + inet6);
System.out.println("域名:" + inet6.getHostName());
System.out.println("IP地址:" + inet6.getHostAddress());
}
}
运行结果
补充
关于IP地址以byte数组表示的时候使用new byte[] { (byte) 180, 97, 33, 107 })这种方式不会出错的解释请参看https://blog.csdn.net/ling376962380/article/details/72824880