简单总结一下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