Java List列表到String []

时间:2012-03-06 02:04:17

标签: java string list arraylist

我将如何转换

List list= new ArrayList();

String [] profArr= {};

我尝试过做

profArr = list.toArrary() 

    and

profArr = (String [])list.toArrary()

我收到以下错误:

java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;

我也试过

String [] profArr= (String [])list.toArray(new String[0]);

我收到此错误:请求的资源()不可用。

以下是我创建列表的方法:

static List decode(int x)
    {
        List power2List = new ArrayList();
        if (x < 0) 
            throw new IllegalArgumentException("Decode does not like negatives");
        while (x > 0)
        {
            int p2 = Integer.highestOneBit(x);
            x = x - p2;
            power2List.add(p2);
        }
        return power2List;   
    }

List list= new ArrayList();
list= decode(rset.getInt("favprofs")); //rset being a result set which pulls one int

2 个答案:

答案 0 :(得分:8)

您需要使用list.toArray(new String[list.size()])。尽管Object[]中的每个元素都是String[],但Object[]String的类型不兼容。此外,您应该考虑指定List的类型参数以保持类型安全。

答案 1 :(得分:0)

基本上你需要使用

  

String profArr = list.toArray(&lt; String array&gt;(size))