Java在ADT中使用泛型

本文详细讲解了Java中如何在ADT(抽象数据类型)中利用泛型进行参数化,包括基本类型和类的使用,以及如何显式指定类型参数。重点介绍了泛型在CourseIntervalSet和Course类中的实践,展示了泛型在操作对象和传递信息方面的灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      Java在进行ADT的编写可以进行泛型的使用,如在下面代码:

      private  CourseIntervalSet<Course> courseInterval;

      public class CourseIntervalSet<L> extends CommonMultiIntervalSet<L>

     public class Course {
     private final String id;
     private final String name;
     private final String teachername;
     private final String locate;
     private final int hour;}

中可以对ADT进行泛型的使用。<L>是一个泛型,该泛型传递的是什么类型就会返回什么类型,T表示:返回值T是泛型,T只是一个占位符,用来告诉编译器,此处先留存,在进行编译时再将其定义。
 

在对泛型的使用中,泛型可以传递传统的Int、double、long、short、String等类型,此时返回的是相应的类型。

但同时泛型还可以传递已经定义过的类,进行相应的类中各自信息的操作,此时返回的也是相应的类中各信息的集合体。

显式指定方法的类型参数,类型参数要写在尖括号中并放在方法名之前。例如:object.<String> func(...),这样就显式指定了泛型方法的类型参数为String,那么所有出现类型参数T的地方都将替换成String类型。

如果你定义了一个泛型(类、接口),那么Java规定,你不能在所有的静态方法、静态初块等所有静态内容中使用泛型的类型参数。

如上述代码<L>中的泛型传递的是Course类,限定了 T的类型,此时T的类型只能是Course,此时返回的是course类中的各种信息,对该信息进行输出时,会将Course中的信息如id、name、teachername、locate、hour当做一个集合进行输出。

而在ADT的编写时,泛型定义为<T>时,表示该处放置的是泛型<T>,用于操作类对象,当将T替换成各种已知的数据类型或者个人设定的类时,该信息会进行实例化,并可以在返回时将相应的类型的数据进行传回。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值