• public <T> void show(T t),void前面的泛型T是什么作用


    public <T>这个T是个修饰符的功能,表示是个泛型方法,就像有static修饰的方法是个静态方法一样。

    <T> 不是返回值,表示传入参数有泛型

    public static <T>list<T> aslist(T...a)  

    第一个表示是泛型方法,第二个表示返回值是list类型,而这个list有泛型,只能存t类型的数据

    泛型方法的使用示例:

     1 public <T> void fromArrayToCollection(T[] a, Collection<T> c){  
     2         for(T t : a){  
     3             c.add(t);  
     4         }  
     5     }  
     6   
     7   
     8 public void fromArrayToCollection(T[] a, Collection<T> c){  
     9         for(T t : a){  
    10             c.add(t);  
    11         }  
    12     }  

    第一个方法相当于为该方法声明了一个类型为T的类,这个方法放到任意一个类中都不会报错的。

    第二个方法相当于没有声明类型为T的类,这时必须在类上面加上泛型T,不然这个方法会报错的。

     1 package generic;
     2 
     3 /**
     4  * 泛型方法测试
     5  * 
     6  * @author caiyu
     7  * 
     8  */
     9 public class GenMethod {
    10 
    11     public static <T> void display(T t) {
    12         System.out.println(t.getClass());
    13     }
    14 }

    首先,泛型的声明,必须在方法的修饰符(public,static,final,abstract等)之后,返回值声明之前。

    然后,和泛型类一样,可以声明多个泛型,用逗号隔开。

    http://www.cnblogs.com/anrainie/archive/2012/03/09/2387272.html

  • 相关阅读:
    webpack 报错(Cannot find moudle ‘webpack-cliinconfig-yargs‘)
    js图片压缩推荐
    Object.assign()更新对象
    poj 2063完全背包
    poj 3592 缩点+SPFA
    hdu2546 01背包 重学背包
    hdu 2503 1713 1108 最小公倍数&最大公约数
    poj3249 拓扑排序+DP
    poj2914无向图的最小割模板
    poj2942(双联通分量,交叉染色判二分图)
  • 原文地址:https://www.cnblogs.com/hym-pcitc/p/6116489.html
Copyright © 2020-2023  润新知