Java泛型讲解

一、什么是泛型

泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类。可以把类型参数看作是使用参数化类型时指定的类型的一个占位符,就像方法的形式参数是运行时传递的值的占位符一样。

好处

  1. Java 语言中引入泛型是一个较大的功能增强。不仅语言、类型系统和编译器有了较大的变化,以支持泛型,而且类库也进行了大翻修,所以许多重要的类,比如集合框架,都已经成为泛型化的了。这带来了很多好处:
    类型安全。 泛型的主要目标是提高 Java 程序的类型安全。通过知道使用泛型定义的变量的类型限制,编译器可以在一个高得多的程度上验证类型假设。没有泛型,这些假设就只存在于程序员的头脑中(或者如果幸运的话,还存在于代码注释中)。
  2. Java 程序中的一种流行技术是定义这样的集合,即它的元素或键是公共类型的,比如“String 列表”或者“String 到 String 的映射”。通过在变量声明中捕获这一附加的类型信息,泛型允许编译器实施这些附加的类型约束。类型错误现在就可以在编译时被捕获了,而不是在运行时当作 ClassCastException 展示出来。将类型检查从运行时挪到编译时有助于您更容易找到错误,并可提高程序的可靠性。
  3. 消除强制类型转换。 泛型的一个附带好处是,消除源代码中的许多强制类型转换。这使得代码更加可读,并且减少了出错机会。

二、常见的几种泛型

1、泛型类

/*泛型类*/
public class AAAAA1<T> {
    /*泛型参数*/
    public void aaa(T t){
        System.out.println(t);
    }

    /*泛型方法*/
    public T bbb(T t){
        System.out.println(t);
        System.out.println(t.getClass());
        return t;
    }


    /*实现的就是你传递进来的参数,必须直接实现或者继承改接口*/
    public <T extends Comparable<Integer>> T ccc(T t){
        System.out.println(t);
        return t;
    }
}

2、泛型方法

/*泛型方法*/
public T bbb(T t){
    System.out.println(t);
    System.out.println(t.getClass());
    return t;
}
/*实现的就是你传递进来的参数,必须直接实现或者继承改接口*/
public <T extends Comparable<Integer>> T ccc(T t){
    System.out.println(t);
    return t;
}

3、泛型变量

/*泛型参数*/
public void aaa(T t){
    System.out.println(t);
}

4、泛型接口

public interface DemoInterface<T> {
    void t1(T t);
}

接口的实现

public class DemoTest02 implements DemoInterface<Integer> {
    @Override
    public void t1(Integer integer) {
        System.out.println(integer);
    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值