泛型方法

一、泛型方法
  方法使用泛型之前必须对泛型进行声明,语法<T>,T可以是任意字母,但通常必须大写。
  泛型的声明<T>要放在方法的返回值之前,如 public static <T> void doXX(T t)

二、如果在类的声明上声明了泛型,那么类中的实例方法声明中可以声明泛型也可以直接使用类声明的泛型,但是类中的静态方法必须要声泛  型。
  例如:
  
  public class Demo <T>{
      public void m1(T t){......}                
      public T void m2(T t){......}
      public static <T> void m3(T t){.....}      
  }
  对于上面的m1和m2来说,类型T是依赖于类的对象的,因此必须要创建类的实例才可以调用m1和m2
三、只有引用类型才可以作为泛型方法的实参
  
java.util.Arrays类中的asList方法定义如下:
    
public static <T> List<T> asList(T... a)
    参数是一个可变参数,注意一个原则,那就是:只有引用类型才可以作为泛型方法的实参
    那么,请看下面的例子:
    如果参数是一个基本类型的数组,那么该方法会将整个数组来转化为list中的一个元素
    如:
      int[] i1 = {1,2,3};
      list = Arrays.asList(i1);
      Syso(list); 
    上面输出的结果是i1的内存地址.
   如果将上面的数组类型由int改为Integer,则会将数组中的每一个数转为list中的一个一个元素.
 

转载于:https://www.cnblogs.com/byron0918/p/4709461.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值