Java泛型

1.概述: 

没有泛型 集合容器所能接收的类型默认是Object

1.泛型类

/*
* 该类是一个泛型类
*   E是一个变量 目前 可代指一切 引用 类型
*   可以再类中 使用 E
*
*   什么时候明确E的具体类型
*       创建该泛型类对象时
* */
public class Fan<E>{
//    成员变量
    E e;

//    用e作为形参
    public void add(E e){
        System.out.println(e);
    }
//    返回值
    public E get(int index){
        return e;
    }


//  set方法
    public void set(E e){
        this.e = e;
    }

}

2.泛型方法:

public class Demo {
//    调用时候传
    public <T> void show(T t){
        System.out.println(t);
    }

    public <T> T get(T t){
        return t;
    }
}

3.泛型接口:

public interface MyInter<E> {
    void show(E e);
}
public class Demo implements MyInter<String>{
//方式1:
    @Override
    public void show(String s) {

    }
}
public class Demo01<E> implements MyInter<E>{
//    /方式2
    @Override
    public void show(E e) {

    }
}

4.通配符:

import java.util.ArrayList;

public class Demo {
    public static void main(String[] args) {
        ArrayList<String> list1 = new ArrayList<>();
        ArrayList<Integer> list2 = new ArrayList<>();
        ArrayList<Double> list3 = new ArrayList<>();
        ArrayList<Number> list4 = new ArrayList<>();
        ArrayList<Object> list5 = new ArrayList<>();


        useArrayList(list1);

        useArrayList(list2);
        //?extend 类型  规定了上限  :可以接收该类型 或其子类
        useArrayListExtends(list2);
        useArrayListExtends(list3);
        useArrayListExtends(list4);

        // ? super 类型 规定了下限 : 可以接收该类型 或 其父类
        useArrayListSuper(list4);
        useArrayListSuper(list5);
    }

    public static void useArrayListExtends(ArrayList<? extends Number> list){

    }

    public static void useArrayListSuper(ArrayList<? super Number> list){

    }

    public static void useArrayList(ArrayList<?> list){

    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

華同学.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值