private static final String SEP1 = "#"; 
    private static final String SEP2 = "|";
    private static final String SEP3 = "=";
     * List转换String
     * @param list
     *            :需要转换的List
     * @return String转换后的字符串
    public static String ListToString(List<?> list) { 
        StringBuffer sb = new StringBuffer(); 
        if (list != null && list.size() > 0) { 
            for (int i = 0; i < list.size(); i++) { 
                if (list.get(i) == null || list.get(i) == "") { 
                    continue; 
                // 如果值是list类型则调用自己 
                if (list.get(i) instanceof List) { 
                    sb.append(ListToString((List<?>) list.get(i))); 
                    sb.append(SEP1); 
                } else if (list.get(i) instanceof Map) { 
                    sb.append(MapToString((Map<?, ?>) list.get(i))); 
                    sb.append(SEP1); 
                } else { 
                    sb.append(list.get(i)); 
                    sb.append(SEP1); 
        return "L" + sb.toString(); 
     * Map转换String
     * @param map
     *            :需要转换的Map
     * @return String转换后的字符串
    public static String MapToString(Map<?, ?> map) { 
        StringBuffer sb = new StringBuffer(); 
        // 遍历map 
        for (Object obj : map.keySet()) { 
            if (obj == null) { 
                continue; 
            Object key = obj; 
            Object value = map.get(key); 
            if (value instanceof List<?>) { 
                sb.append(key.toString() + SEP1 + ListToString((List<?>) value)); 
                sb.append(SEP2); 
            } else if (value instanceof Map<?, ?>) { 
                sb.append(key.toString() + SEP1 
                        + MapToString((Map<?, ?>) value)); 
                sb.append(SEP2); 
            } else { 
                sb.append(key.toString() + SEP3 + value.toString()); 
                sb.append(SEP2); 
        return "M" + sb.toString(); 
     * String转换Map
     * @param mapText
     *            :需要转换的字符串
     * @param KeySeparator
     *            :字符串中的分隔符每一个key与value中的分割
     * @param ElementSeparator
     *            :字符串中每个元素的分割
     * @return Map<?,?>
    public static Map<String, Object> StringToMap(String mapText) { 
        if (mapText == null || mapText.equals("")) { 
            return null; 
        mapText = mapText.substring(1); 
        mapText = mapText; 
        Map<String, Object> map = new HashMap<String, Object>(); 
        String[] text = mapText.split("\\" + SEP2); // 转换为数组 
        for (String str : text) { 
            String[] keyText = str.split(SEP3); // 转换key与value的数组 
            if (keyText.length < 1) { 
                continue; 
            String key = keyText[0]; // key 
            String value = keyText[1]; // value 
            if (value.charAt(0) == 'M') { 
                Map<?, ?> map1 = StringToMap(value); 
                map.put(key, map1); 
            } else if (value.charAt(0) == 'L') { 
                List<?> list = StringToList(value); 
                map.put(key, list); 
            } else { 
                map.put(key, value); 
        return map; 
     * String转换List
     * @param listText
     *            :需要转换的文本
     * @return List<?>
    public static List<Object> StringToList(String listText) { 
        if (listText == null || listText.equals("")) { 
            return null; 
        listText = listText.substring(1); 
        listText = listText; 
        List<Object> list = new ArrayList<Object>(); 
        String[] text = listText.split(SEP1); 
        for (String str : text) { 
            if (str.charAt(0) == 'M') { 
                Map<?, ?> map = StringToMap(str); 
                list.add(map); 
            } else if (str.charAt(0) == 'L') { 
                List<?> lists = StringToList(str); 
                list.add(lists); 
            } else { 
                list.add(str); 
        return list; 

利用Java自身类:

String abc = "aaa,bbb,ccc";
    String[] arr = abc.split(",");
    List<String> list = java.util.Arrays.aslist(abc);
调用方法://字符串转成list List list; String im = "123+456+789"; list = StringToList(im); //list转字符串 String str = ListToString("要转换的List");封装的类:private static final String SEP1 = "#"; p
1.先来第一个场景,做一个mmkv本地存储list,需要把集合化成string进行传递,和把string化成list的 将List集合化成String进行存储 if (mVideoHistorySumList != null && mVideoHistorySumList.size() > 0) { //存储历史列表 //对象类型化成json串存储 String strHistoryList
目录一、数组List集合二、List集合数组 一、数组List集合 String[] str = new String[] {"1", "2", "3"}; // String数组List集合 List<String> list = Arrays.asList(str); // log打印List集合 for (int i = 0; i < list.size(); i++) { Log.i(TAG,"list: " + list.get(i)); asList()方
假设要处理的String变量为str1, 以下代码将把str1按照指定的分隔符一截一截地保存到ArrayList. List<String> result_list = new ArrayList<String>(Arrays.asList(str1.split("\n"))); 在使用的时候, 可以一截截地进行调用和使用, 类似如下: for(int i = 0; i ...
//把List集合转换为字符串用&amp;隔开 StringBuffer stringBuffer = new StringBuffer(); for (int i = 0; i &lt; list.size(); i++) { stringBuffer.append(list.get(i).toString().trim() + "&amp;"); String s = strin...
my_list = ['apple', 'banana', 'orange'] my_string = ', '.join(my_list) print(my_string) apple, banana, orange 在join()方法中,传递一个字符串作为分隔符,该方法将列表中的所有元素连接起来,并在它们之间插入分隔符。