對於掩碼轉整數方法
由於碰到好幾次需要使用轉換,故總結了一下。一開始考慮的是通過自行寫方法轉,發現出現位數不對情況。
現使用了Integer中的toBinaryString方法來實現。
String[] ipmasksStrings = ipmask.split("\\.");
int number = 0;
String temp = "";
if(ipmasksStrings != null && ipmasksStrings.length == 3){
for (String string : ipmasksStrings) {
temp += Integer.toBinaryString(Integer.parseInt(string));
}
char[] chars = temp.toCharArray();
char c = '1';
for(int i = 0; i < chars.length; i++)
{
if(c == chars[i])
{
number++;
}
}
}
計算掩碼中1的個數
String[] ipmasksStrings = ipAclAdvancedIpMask.split("\\.");
int num = 0;
for (String string : ipmasksStrings) {
String binary = Integer.toBinaryString(Integer.parseInt(string));
char[] cha = binary.toCharArray();
for (char c : cha) {
if (c == '0') {
break;
}
num++;
}
}