泛型(Tenth Day)

泛型
    提供了编译时类型安全检测和类型推断。
    类型擦除:Java中的泛型在运行时会擦除泛型类型参数,表明运行时JVM不知道泛型类型参数的具体类型
    类型擦除确保了泛型代码和非泛型代码的兼容性
  泛型优点:
        类型安全:泛型在编译时检查类型,避免了运行时类型转换的错误。提高代码的可读性和可维护性。
        代码重用:泛型允许编写一次通用代码,可用于多种数据类型。减少重复代码,使代码更简洁,更易于维护。
        提高代码质量:强制使用类型参数,减少错误的类型转换和类型不匹配的风险。提高代码质量,减少运行时错误。
        提高代码可读性:明确指定了数据类型,使得代码更具可读性,便于其他开发人员理解和维护。
        性能优化:泛型在编译时进行类型检查,意味着泛型不会引入运行时性能开销,避免了自动装箱和拆箱操作,从而提高性能。
  格式:<类型>:指定一种类型的格式,可以任意书写,一般只写一个字母;例如:<E> <T>
        <类型1,类型2...>:指定多种类型的格式,用逗号隔开,例如:<E,T><K,V>
  泛型方法
  定义格式:修饰符<类型> 返回值类型 方法名(类型 变量名){} 
    例: public <T> void show(T t){
                System.out.println(t);
            }
  泛型接口:
  定义格式:修饰符 interface 接口名<类型>{ }
    例: punlic interface Generic<T>{ void show(T t);}
    定义实现类时,定义和接口相同泛型,创建实现类对象明确泛型的具体类型
                    或定义实现类时,直接明确泛型的具体类型

  类型通配符:<?>    
        1、ArrayList<?>:它的元素可以匹配任何类型,但不能向里添加元素,避免出现类型安全性问题
        2、<? extends 类型>:表示是该类型或该类型的子类
        3、<? super 类型>:表示是该类型或其父类

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值