char、char[]、String、String[]和List之間的轉換關係

一、char、char[]、String、String[]和List之間的轉換關係

轉換示例:

char char[] String String2 String[] List< String>
c cArr str str2 strArr list
‘t’ {‘t’,‘e’,‘s’,‘t’} “test” “te,st” {“t”,“e”,“s”,“t”} [“t”,“e”,“s”,“t”]

1.String

  • String中的第一個元素轉成char
    char c = str.charAt(0);
    輸出:‘t’
  • String轉成Char[]
    char[] cArr = str.toCharArray();
    輸出:cArr內存地址
  • String轉成list< String>
    List< String> list = Arrays.asList(str);
    輸出:[t,e,s,t]
  • String2轉成list< String>
    List< String> list = Arrays.asList(str2.split(","));
    輸出:[te,st]
  • String2轉成String[]
    String[] strArr = str2.split(",");
    輸出:{“te”,“st”}

2.char&char[]

  • Char轉成String
    String str = String.valueOf(c);
    輸出:“t”
  • Char[]轉成String
    String str = String.valueOf(cArr);
    輸出:“test”

3.String[]

  • String[]轉成String
    String str = Arrays.toString(strArr);
    輸出:[t,e,s,t]
  • String[]轉成String法2
    String str2 = String.join(",",strArr);
    輸出:t,e,s,t
  • 將String[]轉成list< String>方法1(可以用但有缺陷):
    List< String> strArrToList = Arrays.asList(strArr);
    輸出:[t,e,s,t]
  • 將String[]轉成list< String>方法2(推薦):
    List< String> strArrToList =new ArrayList< String>(Arrays.asList(strArr));
    注:法一雖然能轉換成功,但由於未分配大小,導致無法進行add()、remove()等操作(而且會拋出UnsupportedOperationException異常),而法二的轉換方式不存在這個問題,具體原因見【Java】異常總結中2.2說明

4.List< String>

  • 將List轉成String[]
    String[] strArr = list.toArray(new String[list.size()]);
    輸出:strArr內存地址
  • 將List轉成String
    String str = String.join(",",list.toArray(new String[list.size()]));
    輸出:t,e,s,t
  • 將List轉成String法2
    String str = String.join(",",list);
    輸出:t,e,s,t

5.拓展

  • 將List中的元素轉成指定格式的字符串,如SQL in語句中使用的字符串‘t’,'e','s','t'
    工具類方法:getListToString(List<String> list)將元素爲string的list轉化爲帶單引號,以逗號隔開的字符串
    public final static String getListToString(List<String> list) {
    	String str = "";
    	if(list!=null&&list.size()>0){
    		for(int i =0;i<list.size();i++){
    			if(i==0){
    				str += "'"+list.get(i)+"'";
    			}else {
    				str += ", '"+list.get(i)+"'";
    			}
    		}
    	}
    	return  str;
    }
    
  • 將String數組的元素轉成指定格式的字符串,如SQL in語句中使用的字符串‘t’,‘e’,‘s’,‘t’
    工具類方法:getString(String [] strArr)將元素爲string的list轉化爲帶單引號,以逗號隔開的字符串
    public static String  getString(String [] strArr) {
    	String str = "'";
    	for (int i = 0; i < strArr.length; i++) {
    		if (i < strArr.length - 1) {
    			str += strArr[i] + "','";
    		} else {
    			str += strArr[i] + "'";
    		}
    	}
    	return str;
    }
    

整理自:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章