课程咨询 :186 8716 1620      qq:2066486918

昆明Java培训 > 达内新闻 > Java中泛型的全面解析——实例分析
  • Java中泛型的全面解析——实例分析

    发布:昆明Java培训      来源:达内新闻      时间:2016-07-22

  • 昆明达内java培训的老师接上上期的Java中泛型的全面解析——类型擦除。了解了类型擦除机制之后,就会明白编译器承担了全部的类型检查工作。编译器禁止某些泛型的使用方式,正是为了确保类型的安全性。接上次提到的List&l t;Object>和List<String>为例来具体分析:

    public void inspect(List<Object> list) {   

    for (Object obj : list) {       

    System.out.println(obj);   

    }   

    list.add(1); //这个操作在当前方法的上下文是合法的。

    }

    public void test() {   

    List<String> strs = new ArrayList<String>();   

    inspect(strs); //编译错误

    }

    这段代码中,inspect方法接受List<Object>作为参数,当在test方法中试图传入List<String>的时候,会出现编译错误。假设这样的做法是允许的,那么在inspect方法就可以通过list.add(1)来向集合中添加一个数字。这样在test方法看 ,其声明为List<String>的集合中却被添加了一个Integer类型的对象。这显然是违反类型安全的原则的,在某个时候肯定会抛出ClassCastException。因此,编译器禁止这样的行为。编译器会尽可能的检查可能存在的类型安全问题。对 确定是违反相关原则的地方,会给出编译错误。当编译器无法判断类型的使用是否正确的时候,会给出警告信息。

    通过这次达内java培训老师给大家讲解的实例分析,大家是不是对Java中泛型更加的明白和了解。

    推荐文章

上一篇:Java中泛型的全面解析——类型擦除

下一篇:Java中泛型的全面解析——通配符与上下界

最新开班日期  |  更多

Java--零基础全日制班

Java--零基础全日制班

开班日期:11/30

Java--零基础业余班

Java--零基础业余班

开班日期:11/30

Java--周末提升班

Java--周末提升班

开班日期:11/30

Java--零基础周末班

Java--零基础周末班

开班日期:11/30

  • 网址:http://km .java.tedu.cn      地址:昆明市官渡区春城路62号证券大厦附楼6楼
  • 课程培训电话:186 8716 1620      qq:2066486918    全国服务监督电话:400-827-0010
  • 服务邮箱 ts@tedu.cn
  • 2001-2016 达内国际公司(TARENA INTERNATIONAL,INC.) 版权所有 京ICP证08000853号-56