千家信息网

黑马程序员之《Generic》

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------1.泛型1.概述泛型是为了解决了集合中存储对象安
千家信息网最后更新 2025年01月20日黑马程序员之《Generic》

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------

1.泛型

1.概述

泛型是为了解决了集合中存储对象安全问题,如果集合中存数了不同类型的对象,那么读取出来后,操作取出的对象以为不知道类型,会出现安全问题,但是这不会在编译时期提示错误,而是会在运行时期出现问题,所以泛型会把运行时期的错误移到了编译时期,那么错误就会避免。

2.集合中的泛型

在集合中都会存在泛型,下同时迭代器中也定义了泛型,在读取出来后,我们也要指定迭代器的类型,这样我们就不需要强制类型转换了,因为迭代器中就指定了类型,所以读取出来的对象类型也就是我们指定的类型。

2.自定义的泛型类,可以按照我们随意要求指定类型

3.泛型的方法:

1.一个泛型

2.多个泛型:

3.静态方法上的泛型

把泛型定义在返回值和修饰符之间

静态方法上的泛型的定义需要自己定义,不要和类上的泛型统一,因为静态方法只要是类一加载就生成,如果和类上的泛型统一的话,在静态方法加载的时候,没有对象生成,也就没有指定泛型的类型,那么就会出错,这些都和泛型定义出现的时间有关。

package www.fuxi.jihe;


public class Demo {


public static void show(Q q){//这里不要和类上的泛型统一

System.out.println("show:"+q);

}

public static void main(String [] agrs){

Demo.show("hello");


}


}

结果:

show:hello

4.接口上的泛型

下面是对象的泛型:

5.泛型的高级应用:通配符

通配符用?表示,也叫占位符,可以表示任意类型

结果:

abc

123

zhangsan

----------------------

25

100

200


---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------

0