public class IPKits extends Object
主要包含int, String/IPV4String, InetAdress/Inet4Address之间的互相转换
先将字符串传换为byte[]再用InetAddress.getByAddress(byte[]),避免了InetAddress.getByName(ip)可能引起的DNS访问.
InetAddress与String的转换其实消耗不小,如果是有限的地址,建议进行缓存.
| 构造器和说明 |
|---|
IPKits() |
| 限定符和类型 | 方法和说明 |
|---|---|
static Inet4Address |
fromInt(int address)
从int转换为Inet4Address(仅支持IPV4)
|
static InetAddress |
fromIpString(String address)
从String转换为InetAddress.
|
static Inet4Address |
fromIpv4String(String address)
从IPv4String转换为InetAddress.
|
static String |
intToIpv4String(int i)
int转换到IPV4 String, from Netty NetUtil
|
static int |
ipv4StringToInt(String ipv4Str)
Ipv4 String 转换到int
|
static int |
toInt(InetAddress address)
从InetAddress转化到int, 传输和存储时, 用int代表InetAddress是最小的开销.
|
static String |
toIpString(InetAddress address)
InetAddress转换为String.
|
public static int toInt(InetAddress address)
InetAddress可以是IPV4或IPV6,都会转成IPV4.
InetAddresses.coerceToInteger(InetAddress)public static String toIpString(InetAddress address)
InetAddress可以是IPV4或IPV6. 其中IPV4直接调用getHostAddress()
InetAddresses.toAddrString(InetAddress)public static Inet4Address fromInt(int address)
public static InetAddress fromIpString(String address)
IpString可以是ipv4 或 ipv6 string, 但不可以是域名.
先字符串传换为byte[]再调getByAddress(byte[]),避免了调用getByName(ip)可能引起的DNS访问.
public static Inet4Address fromIpv4String(String address)
IpString如果确定ipv4, 使用本方法减少字符分析消耗 .
先字符串传换为byte[]再调getByAddress(byte[]),避免了调用getByName(ip)可能引起的DNS访问.
public static String intToIpv4String(int i)
public static int ipv4StringToInt(String ipv4Str)
Copyright © 2019. All rights reserved.