我是 Java 新手,正在使用 Java 做一个项目。
我有一个 IP(例如:)192.168.0.10
和一个子网掩码(比如说,255.255.255.0
)。我需要这个子网中所有 IP 地址的列表。我能想到的最好的是天真的解决方案(我必须处理比特和所有)。有谁知道这样做的更好/e.legant 方式。
如果我们考虑这个例子,我们将有 ip 列表192.168.0.1. 192.168.0.2, 192.168.0.3, ..... , 192.168.0.254
任何帮助表示赞赏。
[编辑]我想到的幼稚方法:
通过考虑您拥有的 IP 地址和子网来构造一个整数。在我们的例子中,这将是二进制表示11000000.10101000.00000000.00000000
(添加点以提高可读性)。将此数字加 1,直到左起 24 位切换。它切换的第一个图块我们已经生成了所有可能在该子网中 ip 的数字。现在的任务是从 32 位数字生成 ip,这可以通过编写一次提取 8 位的函数来完成。