问题:什么是Java中的原始类型,为什么我经常听说不应该在新代码中使用它们?如果我们不能使用原始类型,它有什么替代方案,它是如何更好的?
5 回答
![?](http://img1.sycdn.imooc.com/545850a00001fdd002200220-100-100.jpg)
Helenr
TA贡献1780条经验 获得超4个赞
Java中的“原始”类型是非泛型的类,它处理“原始”对象,而不是类型安全的泛型类型参数。
例如,在Java泛型可用之前,您将使用如下集合类:
LinkedList list = new LinkedList();list.add(new MyObject());MyObject myObject = (MyObject)list.get(0);
将对象添加到列表时,它不关心它是什么类型的对象,当您从列表中获取它时,您必须显式地将它转换为您期望的类型。
使用泛型,可以删除“未知”因子,因为您必须明确指定列表中可以包含的对象类型:
LinkedList<MyObject> list = new LinkedList<MyObject>();list.add(new MyObject());MyObject myObject = list.get(0);
请注意,对于泛型,您不必转换来自get调用的对象,该集合是预定义的,仅适用于MyObject。这一事实是仿制药的主要驱动因素。它将运行时错误的源更改为可在编译时检查的内容。
添加回答
举报
0/150
提交
取消