欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

浅谈Java泛型及泛型的使用

程序员文章站 2022-04-21 10:34:44
浅谈Java泛型当做一些集合的统一操作的时候,需要保证集合的类型是统一的,此时需要泛型来进行限制。泛型的优点:数据安全、获取数据时效率比较高。给集合中的元素设置相同的类型就是泛型的基本需求。泛型的本质是为了参数化类型(在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型)。也就是说在泛型使用过程中,操作的数据类型被指定为一个参数,这种参数类型可以用在类、接口和方法中,分别被称为:泛型类、泛型接口、泛型方法。泛型的高阶使用:1、泛型类在定义类的时候在类名的后面添加&...

浅谈Java泛型

当做一些集合的统一操作的时候,需要保证集合的类型是统一的,此时需要泛型来进行限制。

泛型的优点:数据安全、获取数据时效率比较高。
浅谈Java泛型及泛型的使用

给集合中的元素设置相同的类型就是泛型的基本需求。
浅谈Java泛型及泛型的使用
浅谈Java泛型及泛型的使用

浅谈Java泛型及泛型的使用

泛型的本质是为了参数化类型(在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的类型)。也就是说在泛型使用过程中,操作的数据类型被指定为一个参数,这种参数类型可以用在类、接口和方法中,分别被称为:
泛型类、泛型接口、泛型方法。

泛型的高阶使用:

1、泛型类

在定义类的时候在类名的后面添加<E、K、V、A>起到占位的作用,类中的方法的返回值类型和属性的类型都可以使用。

代码展示:

public class FanxingClass<A> {
    private int id;
    private A a;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public A getA() {
        return a;
    }
    public void setA(A a) {
        this.a = a;
    }
    public void show(){
        System.out.println("id:"+id+" a:"+a);
    }

}

浅谈Java泛型及泛型的使用

输出结果:
浅谈Java泛型及泛型的使用

2、泛型接口

在定义接口的时候,在接口的名称后添加<E、K、V、A、B>
(1)子类在进行实现的时候,可不填写泛型的类型,此时在创建具体的子类对象的时候才决定使用什么类型。

浅谈Java泛型及泛型的使用
浅谈Java泛型及泛型的使用

浅谈Java泛型及泛型的使用
此时实现类时传递的是什么类型,泛型里面放的就是什么类型。

(2)子类在实现泛型接口时,只在实现父类的接口的时候指定父类的泛型类型即可,此时,测试方法中的泛型必须要和子类保持一致。

浅谈Java泛型及泛型的使用
浅谈Java泛型及泛型的使用
输出结果:
浅谈Java泛型及泛型的使用

3、泛型方法

在定义方法的时候,指定方法的返回值和参数是自定义的占位符,可以是类名的T。也可以是自定义的Q,只不过在使用Q时需要使用<Q>定义在返回值前面。


public class FanxingMethod<T> {
    private T t;
    public T getT() {
        return t;
    }
    public void setT(T t) {
        this.t = t;
    }
    public <Q> void show(Q q){
        System.out.println(q);
        System.out.println(t);
    }
}

浅谈Java泛型及泛型的使用

输出结果:

浅谈Java泛型及泛型的使用

本文地址:https://blog.csdn.net/junxunfs/article/details/107676679

相关标签: java基础 java