首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

泛型实现连续型线性表有关问题

2012-09-17 
泛型实现连续型线性表问题求助这个是Mark Allen Weiss写的 数据结构与问题求解 第四版上面的源程序Java co

泛型实现连续型线性表问题求助
这个是Mark Allen Weiss写的 数据结构与问题求解 第四版上面的源程序

Java code
private Type[] theItems;//当前数组private int size;//实际大小public boolean add(Type x){   if(theItems.length==size){//数组容量满       Type[] old = theItems;       theItems = (Type[]) new Object[size*2+1];//这行怎么都不理解,编译能通过是因为类型擦除,但是运行                                                 //的时候假如类型参数是String,Object[]如何强转成String[]???       for(int i=0;i<size;i++)           theItems[i] = old[i];//循环复制元素   }   theItems[size++] = x;//插入元素   return true;}

问题1:注释行的问题
问题2:因为new Type[size*2+1]语法不通过,因此还有其他方法扩展泛型数组的容量么?

[解决办法]
探讨

引用:

强制类型转换仍然是存在的,使用泛型时,强制类型转换自动完成,并且保证只要使用正确编译通过,那么转换类型时一定不会抛出 ClassCastException。

这里的重点在于"编译通过"。

见一楼最后一句话: Java 泛型的意义在于,且仅在于,编译时。

Java 泛型就是 "通过编译时的类型检查来保证运行时类型安全" 的机制。

编译时因为……

热点排行