泛型&反射

13 篇文章 0 订阅

本文收集了一些较好的关于泛型和反射相关的文章

泛型

《夯实JAVA基本之一 —— 泛型详解(1):基本使用》

《夯实JAVA基本之一——泛型详解(2):高级进阶》

反射

《夯实JAVA基本之二 —— 反射(1):基本类周边信息获取》

《夯实JAVA基本之二 —— 反射(2):泛型相关周边信息获取》

《夯实JAVA基本之二 —— 反射(3):类内部信息获取》

泛型

一、基本使用
二、类型绑定

<T extends BoundingType>

  1. 绑定接口

    public interface ABC<T> {  
        public boolean fun(T i);  
    }
    
    //添加上extends ABC 之后,就可以ABC 里的函数了  
    public static <T extends Comparable>  T min(T...a){  
        // TODO
        return null;  
    }  
  2. 绑定类

    class ABC {
        // TODO
    }  
    public static <T extends ABC> String getABCName(T t){  
        return null;  
    }  
  3. 绑定多个限定 (中间用&隔开)

    public static <T extends ABC & CBA> String getABCName(T t){  
        return null;  
    }  
二、通配符
  1. 无边界通配符:? =>通配符的意义就是它是一个未知的符号,可以是代表任意的类。

  2. ?与T的区别:

    答案是:他们俩没有任何联系!!!!!

    • 泛型变量T不能在代码用于创建变量,只能在类,接口,函数中声明以后,才能使用。
    • 而无边界通配符?则只能用于填充泛型变量T,表示通配任何类型。
  3. 通配符?的extends绑定<? extends Number>

    • 利用<? extends Number>定义的变量,只可取其中的值,不可修改
  4. 通配符?的super绑定<? super Manager>

    • super通配符实例内容:能存不能取
  5. 通配符?总结
    <? extends A><? super A> 通配符的特征,我们可以得出以下结论:

    • 如果你想从一个数据类型里获取数据,使用 ? extends 通配符(能取不能存)
    • 如果你想把对象写入一个数据结构里,使用 ? super 通配符(能存不能取)
    • 如果既想存,又想取,那就别用通配符。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值