public int compare(String s1, String s2) {
//创建两个数组,用于存IP
String[] str1=s1.split("\\.");
String[] str2=s2.split("\\.");
//定义用于存IP地址计算后的long对象
long num1=0;
long num2=0;
///因为每一段IP的最大值是256,每一段乘以256的3-i的次方,方便下面的比较
for(int i=0;i<str1.length;i++){
num1=(long)(num1+Integer.parseInt(str1)*Math.pow(256,(3-i)));
}
for(int i=0;i<str2.length;i++){
num2=(long)(num2+Integer.parseInt(str2)*Math.pow(256,(3-i)));//这里怎么理解
}
if(num1-num2>0){
return 1;
}
else if(num1-num2<0){
return -1;
}
return 0;
}
}
|
|