我要把一个IP地址,比如 202.196.23.157 付给一个byte数组。
我是这样做的:
byte[]s = new byte[4];
s[0]=202;
s[1]=196;
s[2]=23;
s[4]=157;InetAddress src = InetAddress.getByAddress(s);但是编译器告诉我类型不匹配.......在线等待!

解决方案 »

  1.   

    public static byte[] getIpByteArrayFromString(String ip) {
            byte[] ret = new byte[4];
            java.util.StringTokenizer st = new java.util.StringTokenizer(ip, ".");
            try {
                ret[0] = (byte)(Integer.parseInt(st.nextToken()) & 0xFF);
                ret[1] = (byte)(Integer.parseInt(st.nextToken()) & 0xFF);
                ret[2] = (byte)(Integer.parseInt(st.nextToken()) & 0xFF);
                ret[3] = (byte)(Integer.parseInt(st.nextToken()) & 0xFF);
            } catch (Exception e) {
                System.out.println(e.getMessage());
            }
            return ret;
        }