集合数组与String的互转
1、集合转成数组:
转之前集合里面存的什么类型的数据,就new什么类(特别:存的是基本数据的封装类,就要new他的封装类)
例如:
1.1集合:
ArrayList<Character> list = new ArrayList<Character>();
1.2转成数组:
Character help[] = list.toArray(new Character[list.size()]);
1.3再转成字符串:
此时注意不能简单粗暴的直接用String的valueOf方法,那样会返回地址
例如:
String str2 = String.valueOf(help);
输出str2为地址:[Ljava.lang.Character;@16de49c
---------------------------------------------------------------------------
重点来啦:
先创建一个字符串缓冲区:
StringBuffer sb = new StringBuffer();
再用for循环把包装类数组中的数据一个一个加进去
for(Character c : help){
sb.append(c);
}
再返回次序列中字符串的表示形式toString()
sb.toString();
再输出就是字符串啦!!!!!
2、数组转成集合
2.1例如上述的数组:
Character help[] = list.toArray(new Character[list.size()]);
2.2转成集合:
List<Character> list1 = Arrays.asList(help);
2.3集合再转成String:
重复1的方法,突然感觉闲的没事不要把数组转成集合再转成字符串😄😄😄😄😄😄
2.4数组直接转成字符串:
包装类的数组转成字符串建议采用1中的1.2和1.3,要是用valueOf(help),得到的就是地址
基本类型的数组转成字符串:
char c1[] = {'a','b','c'};
String str = String.valueOf(c1);
得到的就是"abc"
3、字符串转成集合
先把字符串转成数组再转成集合
4、字符串转成数组:
String str ="abc";直接用toCharArray()/getBytes()
String str1 = "a,b,c";用分割字符串即可