最熟悉的方法就是遍历List集合或数组

//数组转List  以String为例
public List<String> arrayToList(String[] strArr){
         if(strArr==null||strArr.length==0){
                  return new ArrayList<String>();
         }
         List<string> list=new ArrayList<>();
         for(int i=0;i<strArr.length;i++){
                  list.add(strArr[i]);
         }
         return list;
}

//List转数组  以String为例
public String[] listToArray(List<String> list){
        if(list==null||list.size()==0){
                return new String[0];
        }
        int len=list.size();
        String[] strArr=new String[len];
        for(int i=0;i<len;i++){
                strArr[i]=list.get(i);
        }
        return strArr;
}

采取函数解决

//数组转List,以String为例
public List<String> arrayToList(String[] strArr){
        if(strArr==null||strArr.length==0){
                return new ArrayList<String>();
         }
         return Arrays.asList(strArr);
}

//List转数组,以String为例
public String[] listToArray(List<String> list){
        if(list==null||list.size()==0){
               return new String[0];
        }
        return (String[])list.toArray(new String[list.size()]);
}

不管是数组转换成集合,还是集合转换成数组,都要注意转换类型的一致性。当需要使用int,double等集合的时候,需要使用对应的对象。如:数组int[]用Integer[],double[]用Double[]。因为List集合是对象的集合,而int,double等不是对象,所以需要用其对应的对应对象类。

 

 posted on 2018-07-08 20:21  会飞的金鱼  阅读(152)  评论(0)    收藏  举报