今天在项目中需要把一个数组转换成字符串存入数据库,然后从数据库里取出来的时候再转换成数组,很简单的一件事却出了点小纰漏,话不多说,直接上代码
public String arrayToString(String[] str){
StringBuilder builder = new StringBuilder();
for(String s : str){
builder.append(s+",");
}
return builder.subString(0,builder.length()-1).toString();
}
String[] str = new String[]{"","","","","","","","",};
str[1] = "zhang1";
String s = arrayToString(str);
//s=",zhang1,,,,,,"; s此时的值
String [] sa = s.split(",");
/**
* 此时做一下打印会看到sa的长度是2,而并不是我想象中的9
* 查了下API发现String还有个方法是split(String str, int limit)
* 这时设置limit的值大于或等于str的长度即可
*/
String [] sa = s.split(",",100);
//这时就会得到sa的原来的长度是9了