菜鸟笔记
提升您的技术认知

string 和list 的互相转换-ag真人游戏

有时候为了方便数据的存储和传递等,需要把list 转换成string ,然后又需要还原,

所以把方法记在博客里,方便自己查找。

list 转换成 string :

迭代list的每个子项,将他们用“,”隔开,拼接最好是要用stringbuilder 或者stringbuffer

来完成,当然"string =" 也是可以的:

public static string listtostring(list list){
   if(list==null){
      return null;
   }
   stringbuilder result = new stringbuilder();
   boolean first = true;
   //第一个前面不拼接","
   for(string string :list) {
      if(first) {
         first=false;
      }else{
         result.append(",");
      }
      result.append(string);
   }
   return result.tostring();
}

string 转换成list

首先string类没有提供直接转换出list的功能;

string提供了一个根据字符来分割字符串的功能,但是分割的结果是string[]类型的,如果我们需要的是string[]类型,那么正好直接使用,

需要list可以使用如下的方法:

private list stringtolist(string strs){
     string str[] = strs.split(",");
     return arrays.aslist(str);
}

网上找到一个更简洁的list转string

joiner.on(",").join(list); 

如此我们来测试记录一下:

public static void main(string[] args) {
	
	list name =new arraylist<>(arrays.aslist("xxx","yyy","zzz"));
	name.add("aaa");
	name.add("bbb");
	
	string namestr = joiner.on(",").join(name); 
	system.out.println(namestr);//xxx,yyy,zzz,aaa,bbb
	
	list dogs = new arraylist();
	dogs.add("aigi"); 
	dogs.add("spitz");
	dogs.add("mastiff"); 
	dogs.add("finnish spitz");
	dogs.add("briard");
	string dogstr = joiner.on(",").join(name); 
	
	system.out.println(dogstr);//aigi,spitz,mastiff,finnish spitz,briard
	string str[] = dogstr.split(",");
	system.out.println(arrays.aslist(str));//[aigi, spitz, mastiff, finnish spitz, briard]
}
网站地图