/**
* ID 算法规则 0~9 ^ A~Z --- ZZ自动报错
* init iD 长度不限
初始传空 递归自加 逢9进A ,逢Z前进1 。Z重置0 个位数 36长度。 主键可用大小等于 36^ 主键长度次方
* { apptendStr = ""
* id = "00000000000"
* }
*/
public String addAscId(String id, String apptendStr) {
//操作char 数组
char[] chars = id.toCharArray();
if ((int) chars[chars.length - 1] == 57) {
chars[chars.length - 1] = 'A';
} else if ((int) chars[chars.length - 1] >= 48 && (int) chars[chars.length - 1] < 57) {
chars[chars.length - 1] = (char) ((int) chars[chars.length - 1] + 1);
} else if ((int) chars[chars.length - 1] >= 65 && (int) chars[chars.length - 1] < 90) {
chars[chars.length - 1] = (char) ((int) chars[chars.length - 1] + 1);
} else if ((int) chars[chars.length - 1] == 90) {
chars[chars.length - 1] = '0';
apptendStr = apptendStr + "0";
StringBuffer str = new StringBuffer();
for (int i = 0; i < chars.length - 1; i++) {
str.append(chars[i]);
}
return addAscId(str.toString(), apptendStr);
}
StringBuffer str = new StringBuffer();
for (int i = 0; i < chars.length; i++) {
str.append(chars[i]);
}
str.append(apptendStr);
return str.toString();
}