你,也许没完全搞懂 Java 泛型
发布时间:2021-12-07 18:41:44 所属栏目:语言 来源:互联网
导读:今天我们来谈谈泛型。其实在初学的时候,我就对泛型有点蒙,因为看到有人说 Java 的泛型不是真的泛型,我搞不懂。 还有人说 Java 的泛型在实际运行时候会把类型给擦除了,我想着擦除是什么意思?为什么要擦除? 那把类型给擦除了为什么反射的时候还能得到泛型的
今天我们来谈谈泛型。其实在初学的时候,我就对泛型有点蒙,因为看到有人说 Java 的泛型不是真的泛型,我搞不懂。 还有人说 Java 的泛型在实际运行时候会把类型给擦除了,我想着擦除是什么意思?为什么要擦除? 那把类型给擦除了为什么反射的时候还能得到泛型的类型信息? 我们今天就来盘一盘泛型: 为什么需要泛型? 为什么都说Java的泛型是伪泛型? 为什么Java泛型的实现是类型擦除? 既然擦除了类型,为什么在运行期仍能反射获得类型? 话不多说,发车! 为什么需要泛型 我们都知道在 Java5 之前是没有泛型的,没泛型都能用的好好的,那为什么要加个泛型呢,能给我们带来什么呢? 我们先来看下下面这段代码: List list = new ArrayList(); list.add("yes"); // 加入string list.add(233); // 加入int 在没有泛型的时候,加入的集合的数据并不会做任何约束,都会被当作成 Object 类型。 可能有人说,这很好呀,多自由!确实,自由是自由了,但是代码的约束能力越低,就越容易出错,使用上也有诸多不便,比如获取的时候需要强转。 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |