广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Java技术 > 正文

惠州如何使用Java泛型类?_北大青鸟IT学校

作者:邓华发布时间:2021-04-01分类:Java技术浏览:830


导读:相信大家在学习Java的过程在会遇到各种各样的问题,例如:如何使用Java泛型类?那么下面我们一起来看看惠州北大青鸟学术部老师是怎么讲解这道题的。

相信大家在学习Java的过程在会遇到各种各样的问题,例如:如何使用Java泛型类?那么下面我们一起来看看惠州北大青鸟学术部老师是怎么讲解这道题的。

这是为了向后兼容。您还可以声明Wrapper<T>类的变量,如下所示:

Wrapper  aRawWrapper;

当使用泛型类而不指定实际的类型参数时,它被称为原始类型。上面的声明使用Wrapper <T>类作为原始类型,因为它没有指定T的值。

泛型类的实际类型参数必须是引用类型。

原始类型不允许作为泛型类的实际类型参数。

类可以采用多个正式类型参数。下面的代码声明一个Mapper类,它接受两个形式参数T和R:

public class Mapper<T, R>    {

}

我们可以声明Mapper <T,R>类的变量如下:

Mapper<String, Integer>  mapper;

这里,实际的类型参数是String和Integer。

形式类型参数在类体中可用作类型。

public class Wrapper<T> {  private T obj;  public Wrapper(T obj) {
   this.obj = obj;
 }  public T get() {
   return obj;
 }  public void set(T obj) {
   this.obj = obj;
 }
}

Wrapper<T>类使用形式类型参数来声明实例变量obj,以声明其构造函数和set()方法的形式参数,以及作为get()方法的返回类型。

您可以通过为构造函数指定实际的类型参数来创建泛型类型的对象,如下所示:

Wrapper<String> w1  = new Wrapper<String>("Hello");

我们可以省略实际的类型参数。在下面的代码中,编译器会将构造函数的实际类型参数推断为String:

Wrapper<String> w1  = new Wrapper<>("Hello");

一旦你声明了泛型类的一个变量,你可以把形式类型参数看作是指定的实际类型参数。

现在,你可以认为,对于w1,Wrapper类的get()方法返回一个String。

String s1=  w1.get();

实例

以下代码显示如何使用Wrapper类。

public class Main {  public static void main(String[] args) {
   Wrapper<String> w1 = new Wrapper<>("Hello");
   String s1 = w1.get();
   System.out.println("s1=" + s1);

   w1.set("Testing generics");
   String s2 = w1.get();
   System.out.println("s2=" + s2);

   w1.set(null);
   String s3 = w1.get();
   System.out.println("s3=" + s3);
 }
}class Wrapper<T> {  private T obj;  public Wrapper(T obj) {
   this.obj = obj;
 }  public T get() {
   return obj;
 }  public void set(T obj) {
   this.obj = obj;
 }
}

想了解更多关于Java的资讯,可以来惠州北大青鸟新方舟校区了解一下。

java3.png

Java

标签:惠州计算机JAVA软件开发惠州计算机Java软件开发惠州计算机JAVA培训惠州计算机JAVA软件开发学校惠州计算机Java软件开发培训JAVAJava软件开发北大青鸟IT计算机学校北大青鸟IT软件学校北大青鸟IT学校


Java技术排行
标签列表
网站分类
文章归档
最近发表