投票统计―将IP转化成Long整型

2014-11-24 11:45:03 · 作者: · 浏览: 7

投票过滤器里我们看到的两条语句:String ip=request.getRemoteAddr();和long ipnum=StringHandler.getIpNum(ip);第一条不必多讲就是获取客户端的ip地址,第二条语句则是将我们获取的ip转换成长整型。这里调用了StringHandler类里面的静态方法getIpNum(String ip);下面就让我们来看看这个是怎么实现的:


[java]
public class StringHandler {
public static long getIpNum(String ip){
long ipNum=0;
if(ip!=null&&!ip.equals("")){
String[] subips=ip.split("\\.");
for(int i=0;i ipNum+=Integer.parseInt(subips[i]);
if(i ipNum=ipNum<<8;
}
}
return ipNum;
}
}

public class StringHandler {
public static long getIpNum(String ip){
long ipNum=0;
if(ip!=null&&!ip.equals("")){
String[] subips=ip.split("\\.");
for(int i=0;i ipNum+=Integer.parseInt(subips[i]);
if(i ipNum=ipNum<<8;
}
}
return ipNum;
}
}注:ipNum=ipNum<<8;是将ipNum的二进制数向左移8位。