泛型方法

三种情况

1.方法泛型需与类泛型一致(推荐)
    public class Tool<Q> {
        //...
        public void show(Q q) {
            System.out.println(q);
        }
    }
2.方法也可以拥有自己的泛型
    package com.albert.bean;
    public class Tool<Q> {
    //...
        public<T> void show(T t) {
            System.out.println(t);
        }
    }
    //...
    package com.albert.bean;
    public static void main(String[] args) {
        String str = "abc";
        Tool<String> ts = new Tool();
        ts.show(str);
    }
打印结果为:
abc
3.静态方法必须有自己的泛型

因为静态方法随着类的加载而加载,在加载类的时候很可能还未创建对象(可以直接用类名调用而不需实例化),故不能等到实例化时再对泛型赋以具体引用类型。

    package com.albert.bean;
    public class Tool<Q> {
        ...
        public static<T> void print(T t) {
            System.out.println(t);
        } 
    }
    //...
    package com.albert.bean;
    public static void main(String[] args) {
        String str = "abc";
        Tool.print(str);
    }
打印结果为:
abc
注意:当使用泛型类时,必须在创建对象是指定泛型的类型,而使用泛型方法时,一般不需要指明泛型的类型,因为编译器会自动确定方法返回值类型
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值