java泛型的理解

泛型的作用:泛型实现了参数化类型,能编写重用性更好的代码。使用泛型时不需要指定具体的参数类型,由编译器指定参数类型值。

  • 在类中使用泛型
class Automobile {}

public class Holder<T> {
    private T a;

    public Holder(T a) {
        this.a = a;
    }

    public T get() {
        return a;
    }

    public static void main(String[] args) {
        //在创建Holder对象时必须指定具体的对象类型
        Holder<Automobile> h = new Holder<Automobile>(new Automobile());
        h.get();
    }
}
  • 在方法中使用泛型,原则上尽量使用泛型方法。尤其讲static方法置为泛型方法。
public class GenericMethods {

    public <T> void f(T x) {
        System.out.println(x.getClass().getName());
    }

    public static void main(String[] args) {
        GenericMethods gm = new GenericMethods();
        gm.f("");
        gm.f(1);
        gm.f(1.0);
        gm.f(1.0F);
        gm.f('c');
        gm.f(true);
    }
}

//输出结果
java.lang.String
java.lang.Integer
java.lang.Double
java.lang.Float
java.lang.Character
java.lang.Boolean
 分析:f()方法会被无数次重载,也可以传递new GenericMethod()参数。该方法在传入基本类型的参数时,
自动打包机制会将其包装成相应的对象。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值