zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    POJ 2031 Building a Space Station
    [Codeforces 623A] Graph and String
    [Codeforces 986E] Prince's Problem
    [Codeforces 496E] Distributing Parts
    [Codeforces 1037E] Trip
    [Codeforces 1037D] Valid BFS?
    [Codeforces 666B] World Tour
    [Codeforces 449B] Jzzhu and Cities
    [Codeforces 475B] Strongly Connected City
    [Codeforces 437C] The Child and Toy
  • 原文地址:https://www.cnblogs.com/hym-pcitc/p/6116489.html
Copyright © 2011-2022 走看看