Java泛型的介绍与详解Gson泛型解析

2023-04-12


1、介绍


是程序设计语言的一种风格或范式。泛型允许程序员在强类型程序设计语言中编写代码时使用一些以后才指定的类型,在实例化时作为参数指明这些类型。各种程序设计语言和其编译器、运行环境对泛型的支持均不一样


2、使用


1.类参数的泛型

1.1模板:

class +类名<泛型>{


}


1.2泛型支持继承

public class MyFanParent {


    public void log(T t) {

        if (t instanceof String) {
            System.out.println(t);
        }
    }


    public static void main(String[] args) {
        MyFanParent parent = new MyFanParent();
        parent.log("ABC");
    }

}

2.参数泛型的指向

public class MyFanParent {


    public void log(T t) {

        if (t instanceof MyT) {
            System.out.println(t.getName());
        }

    }


    public static void main(String[] args) {


        MyFanParent parent = new MyFanParent();
        MyChildT childT=new MyChildT("abc")
        parent.log(childT);
    }

}

3.方法泛型

方法泛型的格式如下


修饰域+泛型 +返回类型+方法名


泛型也是可以继承。


public class MyFanParent {


    //方法参数泛型
    public  void getLogin(M m) {

    }

    //方法参数泛型
    public  void getLogin(M m) {

    }

    //方法参数泛型,带返回值
    public  M getLogin2(M m) {

        return m;
    }


    // 静态方法调用
    public static  void log(M m) {

    }

    // 静态方法调用
    public static  M logReturn(M m) {

        return m;

    }

    //解析json泛型
    public static  M getGson(JsonObject object, M m) {
        Gson gson = new Gson();
        M result = (M) gson.fromJson(object.toString(), m.getClass());
        return result;
    }
}

4.继承类的泛型

基类:

public class MyParentT {


}

子类:

public class MySimple extends MyParentT{




}

三、详解


针对以上的方法,我们给出了常见的泛型使用,只要我们掌握了类的构造,了解泛型的规则。在处理工具类和模式设计有很大的提升。


本文仅代表作者观点,版权归原创者所有,如需转载请在文中注明来源及作者名字。

免责声明:本文系转载编辑文章,仅作分享之用。如分享内容、图片侵犯到您的版权或非授权发布,请及时与我们联系进行审核处理或删除,您可以发送材料至邮箱:service@tojoy.com