InetAddress对象的获取方式

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

原文地址:https://www.cnblogs.com/SnailsRunning/p/10111060.html

时间: 2024-08-08 12:18:06

InetAddress对象的获取方式的相关文章

java学习--基础知识进阶第十三天--反射机制的概述和字节码对象的获取方式、反射操作构造方法、成员方法、成员属性、JavaBean的概述&BeanUtils的使用、自定义BeanUtils工具类

今日内容介绍 u 反射机制的概述和字节码对象的获取方式 u 反射操作构造方法.成员方法.成员属性 u JavaBean的概述&BeanUtils的使用 u 自定义BeanUtils工具类 第1章 反射机制概述.字节码对象的获取方式.反射操作构造方法.成员方法.成员属性 1.1 反射机制的概述和字节码对象的获取方式 1.1.1 反射介绍 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法        这种动态获取的以及动

ApplicationContext对象的获取方式

本来这是一个比较简单的问题. 然而在前一段事件项目中出现了一个问题. 问题描述:数据库连接数只增不减,直到数据库链接数爆满,报了一个 too many connection异常.整个服务就挂了,需要重写启动一次才能使用. 一开始的时候,一直以为是dao层那个链接没有释放.把dao层的代码都查了一遍,也从网上搜索了很多关于数据库连接池的东西,但是也没有发现问题.于是就纠结了~~ 后台通过mysql的一个命令,status,发现在求职者简历编辑模块,每编辑一次简历,数据库连接数就会只增不减,增加三个

反射机制的概述和字节码对象的获取方式

1.1.1 反射介绍JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法对于任意一个对象,都能够调用它的任意一个方法这种动态获取的以及动态调用对象的方法的功能称为java语言的反射机制. 简单来说, 就可以把.class文件比做动物的尸体, 而反射技术就是对尸体的一种解剖.通过反射技术, 我们可以拿到该字节码文件中所有的东西, 例如成员变量, 成员方法, 构造方法, 而且还包括私有1.1.2 字节码文件获取的三种方式 对象名.getCalss(); // 次方法来自于

组件、对象的获取方式

private TweenPosition tween;//获取TweenPosition组件()ngui) public List<InventoryItemGrid> itemGridList = new List<InventoryItemGrid>();//InventoryItemGrid是放在多个UI对象上的一个脚本的名字 public UILabel coinNumberLabel;//获取UI中的Label void Awake() { tween = this.G

java 反射-反射对象的获取

java.lang.Class对象的获取方式 @SuppressWarnings("all") //压制警告 public class Deam { public static void main(String[] args) throws InstantiationException, IllegalAccessException, IllegalArgumentException, InvocationTargetException, NoSuchMethodException,

java 网络编程-得到ip对象InetAddress的三种方式

网络编程:跟服务器底层源码有关B/S在公网上(浏览器访问)服务器端和客户端只写一端,c/s在局域网上(网吧)服务器端和客户端都要写,B/S是大大的C/S协议:端口之间的交流更畅通,不同软件有各自的端口tcp/udp/http ip:定位一个节点使用静态方法getLocalHost方法创建InetAddress对象,InetAddress没有构造器InetAddress addr = InetAddress.getLocalHost();addr.getHostAddress() 本机地址addr

2016.11.22经验积累(1.item长按与单机,2调用联系人.3.LayoutInflater获取方式)

很早之前就想建立一个微博,记录一下每天工作遇到的问题,第一是为了加深印象,第二是为了给遇见类似问题的同志提供思路.现在微博审批通过了,非常高兴. 1.listView长按事件返回值,之前一直以为是鸡肋,没啥用.昨天项目经理让加一个长按删除功能,结果长按同时触发单机进详情页的动作,断点跑了半天,最后百度,结果让我 吐了一口老血. 如何破:修改长按监听返回值.list长按返回值:false同时触发点击与双击,true只触发双击. 2.调用系统联系人,开始找了系统里封装的代码贴过来,结果测试提bug说

sql server查询可编程对象定义的方式对比以及整合

本文目录列表: 1.sql server查看可编程对象定义的方式对比 2.整合实现所有可编程对象定义的查看功能的存储dbo.usp_helptext2 3.dbo.helptext2的选择性测试 4.总结语 5.参考清单列表 1.sql server查看可编程对象定义的方式对比   上一篇博文重构sql server的sys.helptext存储中写了sys.helptext的限制和输出格式每行自带char(13)和char(10)这两个字符.为了将可编程对象定义查询方式研究透彻,以下表格列出了

Class对象的获取

ConfMgr.class是获取ConfMgr的class对象.下面给你说几种获取class对象的方法: Class对象的获取1. 所有的引用数据类型(类-类型)的类名.基本数据类型都可以通过.class方式获取其 Class对象(对于基本数据类型的封装类还可以通过.TYPE 的方式获取其 Class 对象,但要注意.TYPE 实际上获取的封装类对应的基本类型的 Class 对象的引用,那么你可以判断出int.class==Integer.TYPE 返回 true,int.class==Inte