java - InetAddress.getAddress() 总是返回一个空值,但不知何故仍然有效

标签 java network-programming inetaddress

我有一个字符串 IP 地址,我需要将其转换为字节数组。为此,我使用了 InetAddress.getByName(ip).getAddress(),一切都很好。

但是,当我查看InetAddress.getAddress() 的代码时,它看起来像这样:

public byte[] getAddress() {
    return null;
}

这里绝对没有执行任何操作 - 但是,我仍然得到一个字节数组,其中也有 corerect 值。这是如何工作的?

最佳答案

用于获取地址的方法 InetAddress.getByName 返回一个子类:Inet4AddressInet6Address。这 2 个子类实现了 getAddress 方法以返回有用的东西。

关于java - InetAddress.getAddress() 总是返回一个空值,但不知何故仍然有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55186161/

相关文章:

Java InetAddress 失败

java - 如何使用 x-www-form-urlencoded 正文发送发布请求

java - String 与 Stringbuffer 作为 HashMap 键

java - 尝试制作一个添加变量的简单应用程序,遇到一些问题

sockets - HTTP/1.1如何解决TCP重置问题?

java - 是否可以通过中间人攻击将代码注入(inject)通过网络传输的 Java 对象?

sql-server - 如何在 SQL Server 中将 IPv4 或 IPv6 存储在单列中?

java - 如何访问 Java 中每个网络接口(interface)的特定于连接的 DNS 后缀?

java - 如何将已经实例化的变量设置为 null?

network-programming - Netty OIO 客户端-服务器在 java.net.SocketOutputStream.write(byte[]) 中仍然被阻塞