黑马程序员技术交流社区

标题: JAVA 学习记录九 泛型 [打印本页]

作者: xman20    时间: 2015-3-22 09:53
标题: JAVA 学习记录九 泛型


关于泛型,刚开始学这个的时候我也不太明白泛型的作用是什么,后来直到我自己编写程序,写集合报错的时候才发现了泛型的重要性。



    在编写程序,如果没有指定泛型,加入的元素是可以不为同一类对象,编译的时候不会报错,但是运行的时候就会出问题。

   

    比如编写如下的程序:

    class Test

{

    public static void main(String[] args)

    {



       ArrayList list1 = new ArrayList();



        List1.add(“泛型数组”);



       List1.add(4);



List1.add(new Integer(4));

      



       Iterator it = list1.iterator();

       while(it.hasNext())

       {

           String s = it.next();



           System.out.println(s+":"+s.length());

       }

    }

}



泛型中,还可以不指定明确泛型类型,等到时机要用的时候,再根据需求来定义:



class Demo

{

    public  void show(T t)

    {

       System.out.println("show:"+t);

    }

    public "void print(Q q)"

    {

       System.out.println("print:"+q);

    }

    public  static void method(W t)

    {

       System.out.println("method:"+t);

    }



    同样的,泛型也可以进行限定:



? 通配符。也可以理解为占位符。

泛型的限定;

? extends E: 可以接收E类型或者E的子类型。上限。

? super E: 可以接收E类型或者E的父类型。下限





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2