项目场景:
有时候我们需要自己通过代码动态生成一些编码,以致给后面的表动态生成字段名所用问题描述:
例如我这次所遇到的项目需求就是在基础资料中动态创建编码F_A,F_B一直延续下去;这个时候我们就需要使用一个方法,当然这个方法是我在网上搜索到的,具体网址没存,望其他学客看到能贴一下,谢谢!
具体代码如下:
/**
* @param @param str
* @param @return 设定文件
* @return String 返回类型
* @throws
* @Title: SumStrAscii
* @Description:返回str的下一个字符串。
*/
public static String SumStrAscii(String str) {
String temp = "@" + str;
for (char cc : str.toCharArray()) {
if (cc != 90) {
temp = str;
}
}
char[] charArr = temp.toCharArray();
int x = 1;
for (int i = charArr.length - 1; i >= 0; i--) {
if (x == 1) {
if (((charArr[i] + x) > 90)) {
charArr[i] = 65;
} else {
charArr[i] += x;
x = 0;
}
}
}
StringBuffer sb = new StringBuffer();
for (char c : charArr) {
if (c > 64) {
sb.append(Character.toString(c));
}
}
return sb.toString();
}
上面的这个方法其实就是通过ASCII码进行对ABCD英文字母的获取. 配合你数据的最后一个字段,必须你最后一个生成的编码为F_AB,可以通过string方法的substring方法进行 对于下划线索引的+1; 具体代码:
//切割获取"_"之后的字符串
String str =lastFieldName.substring(lastFieldName.indexOf("_")+1,lastFieldName.length());
String fieldName = "F_" + SumStrAscii(str);
因为这篇文章是在项目结束之后写的,并且我也不太会表述,还是那句话,如果有学客看到上述SumStrAscii() 的原博客,贴一下让我前去感谢!并且我也是才开始写博客 如有不好的地方望指出谢谢各位!