登录 免费注册

Legendshop电商平台大讲堂之泛型类学习

2019-12-21 阅读:3043
分类:技术前沿
电商平台O2O商城系统
LegendShop超级干货大放送,程序猿分享泛型类学习心得。


Holder1 中,有一个用 Object 引用的变量。因为任何类型都可以向上转型为 Object,所以这个 Holder 可以接受任何类型。在取出的时候 Holder 只知道它保存的是一个 Object 对象,所以要强制转换为对应的类型。在 main 方法中, holder1 先是保存了一个字符串,也就是 String 对象,接着又变为保存一个 Integer 对象(参数 1 会自动装箱)。从 Holder 中取出变量时强制转换已经比较麻烦,这里还要记住不同的类型,要是转错了就会出现运行时异常。



下面看看 Holder 的泛型版本:



Holder2 中, 变量 a 是一个参数化类型 T,T 只是一个标识,用其它字母也是可以的。创建 Holder2 对象的时候,在尖括号中传入了参数 T 的类型,那么在这个对象中,所有出现 T 的地方相当于都用 String 替换了。现在的 get 的取出来的不是 Object,而是 String 对象,因此不需要类型转换。另外,当调用 set 时,只能传入 String 类型,否则编译无法通过。这就保证了 holder2 中的类型安全,避免由于不小心传入错误的类型。


通过上面的例子可以看出泛使得代码更简便、安全。引入泛型之后,Java 库的一些类,比如常用的容器类也被改写为支持泛型,我们使用的时候都会传入参数类型,如:ArrayListlist = ArrayList<>();。


泛型方法

泛型不仅可以针对类,还可以单独使某个方法是泛型的,举个例子:



GenericMethod 类本身不是泛型的,创建它的对象的时候不需要传入泛型参数,但是它的方法 f 是泛型方法。在返回类型之前是它的参数标识 ,注意这里有两个泛型参数,所以泛型参数可以有多个。调用泛型方法时可以不显式传入泛型参数,上面的调用就没有。这是因为编译器会使用参数类型推断,根据传入的实参的类型 (这里是 integer 和 String) 推断出 K 和 V 的类型。更多电商资讯请关注LegendShop官网http://www.legendshop.cn/

文章来源:广州朗尊软件科技有限公司
【朗尊软件】是中国领先的专业电商平台提供商,秉承着“专业塑造传奇,用心成就电商”的理念, 专注于为用户提供一体化的电商解决方案及服务,搭建垂直行业垂直电商一站式营销管理工具。目前拥有自主研发的电子商务平台产品:SAAS云平台、微商城小程序、云商城、云小店、代理商平台、B2B2C商城、B2B大宗交易平台、跨境电商服务、大数据平台搭建、微服务架构等产品、各种定制商城及解决方案。
网站声明:以上内容为朗尊软件官方网站的原创文章,如需转载,请注明出处,谢谢合作!
上一篇:LegendShop 电商平台大讲堂之float学习 - 朗尊软件,企业级电商平台提供商
下一篇:电商成为传统零售业转型升级重要抓手,新零售是最大风口! - 朗尊软件,企业级电商平台提供商
相关文章

朗尊VUE项目windows上架(IOS)指南

发表时间: 2022-04-20

B2B电商平台二次清算技术方案

发表时间: 2019-12-21

区块链在知识产权领域的应用 - 朗尊软件,企业级电商平台提供商

发表时间: 2019-12-20
推荐阅读

南钢鑫智链平台 | 供应链集采平台解决方案

发表时间:2024-01-06

java电商领域的技术专家Newway

发表时间:2023-04-13

“数”及大文旅,“链”推大湾区 | 朗尊携手广东电视台助推乡村振兴

发表时间:2023-10-16

小羊云商免费注册小程序商城:电商与无货源商家的新机遇

发表时间:2023-09-20

首届全国私域团长交易会,私域选品再出大动作!

发表时间:2023-12-29

咨询

电话

免费注册