for(int i=0; i<len; i++)
                        {
                            arraylist.add(bytebuf[i]&0x00ff);//这里charbuf是type数组
//                            char = bytebuf[i++]&0x00ff << 8;
//                            char |= (bytebuf[i++]&0x00ff);
//                            stringbuild.append(tmp);
//                            System.out.println(stringbuild.length());
                        }
注意:G:\java\BookTool\src\booktool\InterfaceClass.java 使用了未经检查或不安全的操作。
注意:要了解详细信息,请使用 -Xlint:unchecked 重新编译。
会报这种玩意信息。。不是很明白什么意思              int len = arraylist.size();//2*stringbuild.length();
            Byte[] b = new Byte[len];
            b = (Byte[])arraylist.toArray(new Byte[0]);//程序在这里挂了
Exception in thread "AWT-EventQueue-0" java.lang.ArrayStoreException
        at java.lang.System.arraycopy(Native Method)请教坛子里的高人。。arraylist该怎么用?

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【wnomad】截止到2008-06-24 22:30:15的历史汇总数据(不包括此帖):
    发帖数:8                  发帖分:370                
    结贴数:5                  结贴分:220                
    未结数:3                  未结分:150                
    结贴率:62.50 %            结分率:59.46 %            
    楼主加油
      

  2.   

    bytebuf[i]&0x00ff  不是对象吧,  list只能保存对象,所以会报错,  原来常碰到这事
      

  3.   

    这不是出错,是因为java5引入了泛型(generics)给的提示。可使用下属方法去掉这个警告提示;1、这样声明List:
       List<Integer> arraylist ;
       当然,也可以 ArrayList<Integer> arraylist,但这不是推荐的做法
    2、添加元素无变化:
       arraylist.add(bytebuf[i]&0x00ff),但是实际上,在java5中等价于如下操作:
       arraylist.add(new Integer(bytebuf[i]&0x00ff)) , 他们管这叫自动装箱(auto-boxing)参考:http://java.sun.com/docs/books/tutorial/extra/generics/index.html
      

  4.   


    同意,因为arraylist里的是Integer对象,当赋给Byte数组的时候就会报java.lang.ArrayStoreException错
      

  5.   

    取出元素后自己用 Integer.intValue() 取出打了包装的整数值后再操作它。