码迷,mamicode.com
首页 > 编程语言 > 详细

java泛型

时间:2018-02-09 15:24:49      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:next   object   静态   except   type   异常   exception   iter   end   

1.泛型是jdk1.5以后出现的,用于解决安全问题,是一个安全机制
2.好处是将运行时期的异常classCastException转移到了编译时期
3.在java中应用最广泛的地方就是集合
4.在java的api中有<E>和<t> 都是泛型 e代表element t代表type
5.什么时候使用泛型呢?当类中要操作的类型不确定,早期通过object来扩展,现在定义泛型,因为object要强转,麻烦
6.泛型类public class TreeSet<E>
泛型方法public <T> void show(T t)
静态泛型方法public static <T> void show(T t)
泛型接口:public interface Map<K,V>
7.缺点:不能使用子类特有的方法

public static void printIterator0(ArrayList<Integer> al) {  
      Iterator<Integer> it = al.iterator();  
        while(it.hasNext()) {
            Integer next = it.next();
            String string = next.toString();
            System.out.println(string);  
        }  
    } 
    /** 
     * 通配符方式。 
     * 缺点:不能使用对象中元素的特有方法了。 
     * */  
    public static void printIterator(ArrayList<?> al) {  
      Iterator<?> it = al.iterator();  
      while(it.hasNext()) {
        Object next = it.next();
          System.out.println(next);  
      } 
    }  

    /** 
     * 泛型方式 
     * 缺点:不能使用对象中元素的特有方法了。 
     * @param <T>
     * */  
    public static  <T> void printIterator2(ArrayList<T> al) {  
       Iterator<T> it = al.iterator();  
       while(it.hasNext()) {
        Object next = it.next();
           System.out.println(next);  
       } 
    }  

7.向上限定ArrayList<? super E>集合中只能存放E或者E的父类
8.向下限定ArrayList<? extends E>集合中只能存放E或者E的子类

java泛型

标签:next   object   静态   except   type   异常   exception   iter   end   

原文地址:http://blog.51cto.com/13579086/2070570

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!