JAVA基础语法:泛型

JAVA基础语法:泛型,第1张

文章目录
  • 一.泛型
    • 1.1什么是泛型
    • 1.2泛型的使用
    • 1.3多个类型参数的使用

一.泛型 1.1什么是泛型

定义泛型时,只能使用类,基本类型不能保存到泛型中,必须使用包装类
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的值时,强制类型转换就会报错,运行时异常

一般来说,我们要求把所有的错误都提前暴露在编译阶段,程序还没跑起来就能发现错误。

引入泛型-守门员,编译阶段检查类型是否一致的手段
所谓的泛型指的是在类定义时不明确类型,在使用时明确类型
定义泛型使用"<>" *** 作符

1.2泛型的使用

T:称之为泛型的类型参数,可以使用任何字符,规范都是单个的大写字母

T:表示任意类型
K:键值对,key值
V:value值
E:单个元素
x和y这两个成员变量的类型不定,在产生MyPoint类的对象时明确x和y的类型

使用泛型类

当产生MyPoint对象时,此时将T这个类型参数替换为明确的类型String


我们发现,引入泛型后,可以在编译阶段检查设置的类型值是否是指定类型,若不一致,编译就会报错,并且在取出值的时候,就无须再进行强制类型转换。

我们就可以使用泛型来改造我们动态数组和链表,之前保存的只能是整型,当有泛型以后,我们可以保存任意类型。

1.3多个类型参数的使用

若泛型类中存在多个类型参数,成员变量不一定一致。
使用不同的大写字母来指代不同类型,此时产生对象时T和E的类型可以相同,也可以不同

两个类型参数不同的情况

两个类型参数相同的情况

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/889918.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-14
下一篇 2022-05-14

发表评论

登录后才能评论

评论列表(0条)

保存