开发者社区> 问答> 正文

对象转化数组,运行结果控制台有异常

package collection;
 
import java.util.ArrayList;
 
public class testcollection {
 
    public static void main(String[] args) {
        ArrayList  wang=new ArrayList();
        //wang.add("a");
        //wang.add("b");
        //wang.add("c");
        //wang.add("d");
        for(int i=0;i<8;i++)
        {
            wang.add("wang"+i);
         
        }
        String l=new String("shazi");//在指定位置加对象
        wang.add(2,l);
        System.out.println(wang.contains("c"));
        System.out.println(wang.contains("shazi"));//是否包含某一元素(对象是否相同,非名字)
        System.out.println(wang);
        System.out.println(wang.get(3));//获取指定位置对象
        System.out.println(wang.indexOf("wang3"));//获取指定对象的位置
         wang.remove(3);//根据下标删除所对应元素
         System.out.println(wang);
         wang.remove("wang6");//根据对象删除
         System.out.println(wang);
         wang.set(3, "wanghaijuan");//替换目标元素
         System.out.println(wang);
         System.out.println(wang.size());
        // ArrayList hj[]=(ArrayList[])wang.toArray(new ArrayList[] {});
        // System.out.println("数组:"+hj);
         
          
    }
  
 
 
}

Exception in thread "main" java.lang.ArrayStoreException at java.lang.System.arraycopy(Native Method) at java.util.Arrays.copyOf(Arrays.java:3213) at java.util.ArrayList.toArray(ArrayList.java:407) at collection.testcollection.main(testcollection.java:32)

展开
收起
YDYK 2021-01-24 14:18:29 2063 0
1 条回答
写回答
取消 提交回答
  • ArrayList hj[]=(ArrayList[])wang.toArray(new ArrayList[] {}); 把其中ArrayList改成String就好了,类型是数组元素类型,不是ArrayList。

    String[] hj=(String[])wang.toArray(new String[] {});

    2021-01-24 14:18:52
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
DTS控制台一本通 立即下载
“静态调用链路发现”应用场景分析及实践探索 立即下载
对象的生命期管理 立即下载