我正在尝试使用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工具,但是如何使用“”。 ?
抱歉,菜鸟问题,我仍然是初学者。
答案 0 :(得分:2)
用.
号分隔字符串。使用Java 8 Streams的解决方案:
int[] ipArray = Arrays.stream(ip.split("\\."))
.mapToInt(Integer::valueOf)
.toArray();
编辑
Integer::parseInt
可能更好,因为它返回原语int
而不是Integer
像Integer::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("-")
就足够了。