A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 天秋雨 中级黑马   /  2016-11-21 19:11  /  998 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

泛型是在定义集合之前要明确的存储的引用数据类型。

泛型是jdk1.5出现的安全新特性,解决了ClassCastExceptian(类型转换错误)的问题,提高了安全性,并且避免了强转的麻烦。

1,当要操作的元素的数据类型已知时:
      在集合中的应用:
        ArrayList<String> al=new ArrayList<String>();
      在方法中的应用:
      1> pubiic void showDemo(Collection<String> aa){
}
      2> pubiic class Person implements Comparable<Person>
2, 当要操作的元素的数据类型不确定时:
      1》自定义泛型类
          pubiic <w> void showDemo(w aa){
}
          泛型放在修饰符后返回值类型之前
      2》通配符的基本使用
         public void showDemo2(Collection<?> aa)//Collection<?> aa=new ArrayList<?>(){
         Iterrator <?> it= aa.iterator();
         
      3>泛型限定  上限
         public void showDemo2(Collection<? extends Person> aa){
         Iterrator <? extends Person> it= aa.iterator();
      4>泛型限定  下限
         public void showDemo2(Collection<? super worker> aa){
         Iterrator <? extends Person> it= aa.iterator();
         


4 个回复

倒序浏览
泛型的上下限是什么啊
回复 使用道具 举报
学习  学习
回复 使用道具 举报
回复 使用道具 举报
青火 发表于 2016-11-21 20:31
泛型的上下限是什么啊

上下限就是在你往集合中存放元素的时候所存元素类型的范围。
比如说在方法public void showDemo(Collection<? extends Person>  aa)中,Person就是你所存元素类型的上限。也就是说参数aa的类型只能是Person或者Person的子类。
来自宇宙超级黑马专属苹果客户端来自宇宙超级黑马专属苹果客户端
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马