本文共 730 字,大约阅读时间需要 2 分钟。
Set原因:为set.toArray()返回的是Object类型,强制转换的时候发生ClassCastException错误。set=map.keySet();Integer[] num=null;num=(Integer[])set.toArray();System.out.println(num.toString());
Set**原因:**不带参数的toArray方法,是构造的一个Object数组,然后进行数据拷贝,此时进行转型就会产生ClassCastException,而带参数的toArray方法,则是根据参数数组的类型,构造了一个对应类型的,长度跟keySet的size一致的空数组,虽然方法本身还是以 Object数组的形式返回结果,不过由于构造数组使用的ComponentType跟需要转型的ComponentType一致,就不会产生转型异常。set=map.keySet();Integer[] num=null;num=set.toArray(new Integer[0]);System.out.println(num.toString());
转载地址:http://htgji.baihongyu.com/