- 一.泛型
- 1.1什么是泛型
- 1.2泛型的使用
- 1.3多个类型参数的使用
定义泛型时,只能使用类,基本类型不能保存到泛型中,必须使用包装类
point{
x:
y:
}
x = 10,y = 20;
x = 10.1, y = 20.2;
x = “东经15度”,y=“北纬39度”
JAVA强类型语言,在定义x和y时候必须强制定义变量类型,所以可以把x和y定义为Object类
当用户不小心输入的x和y是不同类型时,编译是没问题的,但是在下面取出x和y的值时,强制类型转换就会报错,运行时异常
一般来说,我们要求把所有的错误都提前暴露在编译阶段,程序还没跑起来就能发现错误。
引入泛型-守门员,编译阶段检查类型是否一致的手段
所谓的泛型指的是在类定义时不明确类型,在使用时明确类型
定义泛型使用"<>" *** 作符
T:称之为泛型的类型参数,可以使用任何字符,规范都是单个的大写字母
T:表示任意类型
K:键值对,key值
V:value值
E:单个元素
x和y这两个成员变量的类型不定,在产生MyPoint类的对象时明确x和y的类型
使用泛型类
当产生MyPoint对象时,此时将T这个类型参数替换为明确的类型String
我们发现,引入泛型后,可以在编译阶段检查设置的类型值是否是指定类型,若不一致,编译就会报错,并且在取出值的时候,就无须再进行强制类型转换。
我们就可以使用泛型来改造我们动态数组和链表,之前保存的只能是整型,当有泛型以后,我们可以保存任意类型。
若泛型类中存在多个类型参数,成员变量不一定一致。
使用不同的大写字母来指代不同类型,此时产生对象时T和E的类型可以相同,也可以不同
两个类型参数不同的情况
两个类型参数相同的情况
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)