java 泛型方法

 

  • ​​​​​​​泛型方法​​​​​​​​​​​​​​

        ​​​​​​​如果泛型方法可以取代整个类泛型化,那么就应该只使用泛型方法。

       对于一个static的方法而言,无法访问泛型类的类型参数,所以如果static方法需要使用泛型能力,必须使其成为泛型方法。

       定义泛型方法:

       只需要将泛型参数列表置于返回值之前

public<T> void f(T x){

 System.out.println(x.getClass().getName());

}



class Show<T> {
public void print1(T t) { System.out.println(t); }
public <T> void print2(T t) { System.out.println(t); }
}
public class A {
public static void main(String[] args) {
Show<String> show = new Show<String>();
show.print1(new Integer(1));// 不能编译,因为对象级别的泛性是String
show.print2(new Integer(1));// 可以编译,因为方法自己定义了泛型,覆盖了对象的泛型,同时保证了后面的参数可以出现这种类型

 

<T> 与Class<T>
<T>是具体的一个对象。Class<T>是一个类
类似:T指圆  Class<T>指多边形
//定义一个泛型方法,类型化参数,tClass 某一类
private <T> void setSpan(FontStyle fontStyle,boolean isSet,Class<T> tClass)

以上说明来着网络,与书籍。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值