JavaにおけるStringとList変換方法

4074 ワード

よく使われるString文字列とListの相互変換は、直接コードを付けて、まとめを見ます.
package com.test01.listtostring;
import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; import org.junit.Test;
public class ListToString{/*方法一:List回転String***/@SuppressWarnings("unused")@Test public void listToString 01(){List listStr=new ArrayList();listStr.add("01");listStr.add("02");listStr.add("03");
		if (listStr == null) {
			System.out.println("listStr  ");
		}else{
			StringBuilder sb = new StringBuilder();
			boolean flag = false;
			for (String string : listStr) {
				if (flag) {
					sb.append(",");
				} else {
					flag = true;
				}
				sb.append(string);
			}
			System.out.println(sb.toString()); //01,02,03
		}
	}

/*
 *    :List String
 * 	List   String  ,   String[]     String
 * */
@Test
public void listToString02(){
		List listStr = new ArrayList();
		listStr.add("a");
		listStr.add("b");
		listStr.add("c");
		
		String[] strArr = listStr.toArray(new String[listStr.size()]);
		for(String str : strArr){
			str = str+",";
			System.out.print(str);//a,b,c,
		}
	}

/*
 *    :List String          ArrayList     
 * 	List   String  ,   String[]     String
 * */
@Test
public void listToString03(){
		List listStr = new ArrayList();
		listStr.add("a");
		listStr.add("b");
		listStr.add("c");
		
		//List String
		String[] strs2 = new String[listStr.size()];
		for(int i=0;i listStr = new ArrayList();
	listStr.add("aa");
	listStr.add("bb");
	listStr.add("cc");
	
	String result = "";
	//List String
	if(listStr != null && listStr.size() > 0){
		String[] strs2 = listStr.toArray(new String[listStr.size()]);
		for(int i = 0;i < strs2.length;i++){
			if(i < strs2.length-1){
				result += strs2[i] + ",";
			}else{
				result += strs2[i];
			}
		}
		System.out.println(result);
	}else{
		System.out.println("List is null!");
	}
	
}

/*
 *    :List String
 * */
@Test
public void listToString05(){
	List listStr = new ArrayList();
	listStr.add("aa");
	listStr.add("bb");
	listStr.add("cc");
	
	final String SEPARATOR = ",";
	StringBuffer sb = new StringBuffer();
	String result = "";
	
	if(listStr != null && listStr.size()>0){
		//System.out.println(listStr);
		for(String s : listStr){
			sb.append(s);
			sb.append(SEPARATOR);
		}
		result = sb.toString();
		result = result.substring(0, result.length()-SEPARATOR.length());
	}else{
		result = "List is null!!!";
	}
	System.out.println(result);
	
}

/*
 *   :String   List
 * */
@Test
public void StringToList01(){
	String[] strs = {"aa","bb","cc"};
	List strsToList = Arrays.asList(strs);
	System.out.println("String  List ,List  :"+strsToList);
	
}

/*
 *   :String   List
 * */
@Test
public void StringToList02(){
	String[] strs = {"aa","bb","cc","dd"};
	List strsToList = new ArrayList();
	Collections.addAll(strsToList,strs);
	System.out.println("String  List ,List  :"+strsToList);
	
}

/*
 *   :String   List
 * */
@Test
public void StringToList03(){
	String[] strs = {"aa","bb","cc","dd","ee"};
	List strsToList = new ArrayList<>();
	
	for(String s : strs){
		strsToList.add(s);
	}
	System.out.println("String  List ,List  :"+strsToList);
	
}

}
まとめ:1.ListをString文字列に変換する考え方:(1)ListをString[]配列に変換し、String[]配列をString文字列に変換する;(2)ListをStringButterに変換し、StringButterをtoString()でString文字列に変換する;
2.String文字列をListに変換する思想:StringはまずString[]配列に変換し、String[]を通じてListに変換する.