如何在Java中将IP字符串转换为整数数组?

时间:2019-05-20 19:17:31

标签: java ip

我正在尝试使用Java中的IP字符串制作整数数组。 例如:

String ip = "192.168.0.1";
int[] ipArray = new int[4];
int[0] = 192; int[1] = 168; int[2] = 0; int[3] = 1;

知道怎么做吗?

我知道parseInt工具,但是如何使用“”。 ?

抱歉,菜鸟问题,我仍然是初学者。

2 个答案:

答案 0 :(得分:2)

.号分隔字符串。使用Java 8 Streams的解决方案:

int[] ipArray = Arrays.stream(ip.split("\\."))
                .mapToInt(Integer::valueOf)
                .toArray();

编辑

Integer::parseInt可能更好,因为它返回原语int而不是IntegerInteger::valueOf一样。因此,为了避免不必要的拆箱:

int[] ipArray = Arrays.stream(ip.split("\\."))
                .mapToInt(Integer::parseInt)
                .toArray();

答案 1 :(得分:0)

您可以使用String.split()方法。

例如:

String str = "192.168.0.1";
String[] strSplit = str.split("\\.");
int[] intArray = new int[strSplit.length];
for(int i=0; i<intArray.length; i++){
    intArray[i] = Integer.parseInt(strSplit[i]);
}

使用\\.的原因是因为.Java Regex Engine中的特殊字符。否则,如果用括号将字符串分隔开,那么str.split("-")就足够了。