您的位置:首页 > 编程语言 > Java开发

JAVA泛型类和泛型方法

2013-10-02 21:38 387 查看
class A<T> {  

    public List<T> getValues2(Class<T> c) throws Exception{  

        List<T> values = new ArrayList<T>();  

        T o= c.newInstance();  

        values.add(o);  

        return values;  

    }  

  

}  

上面这种是“generics class”,即针对类的泛型声明,泛型参数T在类的声明范围内有效。 

Java代码  



public <T>List<T> getValues(Class<T> c) throws Exception{  

        List<T> values = new ArrayList<T>();  

        T o= c.newInstance();  

        values.add(o);  

        return values;  

    }  

而这种是“generics method”,即泛型方法,“<T>List<T>”是可以中间分开的,写出“<T> List<T>”,这样会更清楚,这个参数T则在此方法声明范围内有效。 
所以,对于泛型类中,如果没有了参数T,那么里面的方法却包含T,就会出现编译期的错误: T cannot be resolved to a type
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: