java文件中
1
         public static void print(List<? extends  Number> l){
         for(Number num:l){
         out.println(num);
         }
             }
现问,这段代码用了泛型吗,用在哪,for(Number num:l)  这句又是什么意思呀2 问:java为什么 要用泛型,泛型怎么用,thanks

解决方案 »

  1.   

    for是迭代l  l是一个list的 他是泛型的? extends Number是说里面的元素是number的子类但不能使用add方法
      

  2.   

    没有泛型以前,写一个循环输出 Class A 实例的函数
     public static void print(List<A> l){
      for(A num:l){
      out.println(num);
      }后来又写了个Class B 继承自 A。这个时候你要循环输出他们的共有内容,泛型就派上用场了
     public static void print(List<? extends A> l){
      for(A num:l){
      out.println(num);
      }将来再有类继承自A,就再也不重写这个函数了。当然这是最简单的用法,泛型的世界精彩的很
      

  3.   

    List<? extends Number> l   这个就是泛型。
      

  4.   

    <? extends Number> 这里面就是一个泛型,所有Number类以及子类都能作为其参数  
    for(Number num:l) 遍历l这个list  这是jdk1.6新增的内容 
    使用泛型方法时,不必指明参数类型,编译器会自己找出具体的类型。泛型方法除了定义不同,调用就像普通方法一样。 这也是jdk1.6新增的内容
      

  5.   

    (List<? extends Number>?  代表一个不确定的类型
    但是这个类型是  extends Number的  也就是必须是 Number的子类