private int compare(String vx, String vy) { String[] vxL = vx.split("\\."); String[] vyL = vy.split("\\."); final int xSize = vxL.length, ySize = vyL.length, size = Math.max(xSize, ySize); Integer iVx, iVy; int i, diff; for (i = 0; i < size; i++) { iVx = i == xSize ? 0 : Integer.valueOf(vxL[i]); iVy = i == ySize ? 0 : Integer.valueOf(vyL[i]); if ((diff = iVx.compareTo(iVy)) != 0) return diff; } return 0; }