java中List Array相互转换
2017-08-14 15:40
375 查看
List to Array
List 提供了toArray的接口,所以可以直接调用,转为object型数组List<String> list = new ArrayList<String>(); Object[] array=list.toArray();
当然也可以指定类型
String[] array=list.toArray(new String[list.size()]);
Array to List
最简单的方法似乎是这样String[] array = {"java", "c"}; List<String> list = Arrays.asList(array);
但该方法存在一定的弊端,返回的list是Arrays里面的一个静态内部类,该类并未实现add,remove方法,因此在使用时存在局限性
public static <T> List<T> asList(T... a) { // 注意该ArrayList并非java.util.ArrayList // java.util.Arrays.ArrayList.ArrayList<T>(T[]) return new ArrayList<>(a); }
运用ArrayList的构造方法是目前来说最完美的作法,代码简介,效率高
List<String> list = new ArrayList<String>(Arrays.asList(array)); //ArrayList构造方法源码 public ArrayList(Collection<? extends E> c) { elementData = c.toArray(); size = elementData.length; // c.toArray might (incorrectly) not return Object[] (see 6260652) if (elementData.getClass() != Object[].class) elementData = Arrays.copyOf(elementData, size, Object[].class); }
运用Collections的addAll方法也也是不错的解决办法
List<String> list = new ArrayList<String>(array.length); Collections.addAll(list, array);
Array or List 分隔
其实自己实现一个分隔list或者数组的方法也并不复杂,但强大的第三方库自然提供的有此类似的功能// org.apache.commons.lang3.StringUtils.join(Iterable<?>, String) StringUtils.join(list, ",") // org.apache.commons.lang3.StringUtils.join(Object[], String) StringUtils.join(array, ",")
相关文章推荐
- Java中 set、 list、 array、 Map相互转换
- java中 set,list,array(集合与数组)相互转换
- java中数组(Array)与列表(List)相互转换的方法
- java中 set,list,array(集合与数组)相互转换
- java中List、Array、Map、Set等集合相互转换
- java中List和Array相互转换
- Java集合List与Array的相互转换
- Core Java (二十五) List与Array的相互转化,Set与Array的相互转换
- Java中 set,list,array(集合与数组)、Map相互转换
- Java中 set,list,array(集合与数组)、Map相互转换
- java中 set,list,array(集合与数组)相互转换
- Java:List和Array相互转换
- java中List、Array、Map、Set等集合相互转换的最佳方法
- Java数组Array与列表List之间的转换
- JSON的String字符串与Java的List列表对象的相互转换
- Java - 集合转换(数组、List、Set、Map相互转换)
- java List与Array转换
- JSON的String字符串与Java的List列表对象的相互转换
- java中数组与List相互转换的方法
- java中数组与List相互转换的方法