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;
    }
    

整理自:

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