关于Java泛型的小知识点

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014424628/article/details/50589912

java不允许直接实例化一个泛型数组

Stack<String>[] a = new Stack<String>[N]; 

上面这种写法是错误的!类似的还有下面这种!

这里写图片描述

Java如何创建一个字符串栈的数组?

Stack<String>[] a = (Stack<String>) new Stack[N];

强制类型转换

public class FixedCapacityStack<Item>{    
    private Item[] a;    
    public FixedCapacityStack(int cap){    
        //报错,由于某些历史和技术原因,创建泛型数组在Java中是不允许的  
        //a = new Item[cap];  

        //正确! 
        a = (Item[]) new Object[cap];  
    }  
} 

注意:上面两种泛型类数组是有区别的!

猜你喜欢

转载自blog.csdn.net/u014424628/article/details/50589912