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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© xman20 中级黑马   /  2015-3-22 09:53  /  745 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文



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



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

   

    比如编写如下的程序:

    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的父类型。下限

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马