簡體   English   中英

如何在Java中將IP字符串轉換為整數數組?

[英]How to convert an IP string to an array of integers in java?

我正在嘗試從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工具,但是如何使用“。”。

抱歉,菜鳥問題,我仍然是初學者。

用分割字符串. 標志。 使用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();

您可以使用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("-")就足夠了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM