我对Java的历史有疑问.
Java已经ArrayList从1.2开始了.
Java从版本1.5开始具有泛型.
ArrayList没有泛型的实现如何定义类型?
这一切都完成了Object(并且涉及很多演员),例如:
ArrayList list = new ArrayList();
list.add(new Thingy());
// ...
Thingy t = (Thingy)list.get(0);
// Note ---^^^^^^^^
Run Code Online (Sandbox Code Playgroud)
该列表只知道它存储的内容Object,使用列表的代码可以转换为有用的类型.
正如你可以想象的那样,这会导致各种不愉快 - 你可以把错误的对象放在列表中,然后ClassCastException当你试图将它转换为你期望的类型时再使用它; 如果你改变了列表中的内容,你必须在任何地方改变你的演员阵容,不可避免地忘记一个等等.泛型帮助消除了这些痛点.
| 归档时间: |
|
| 查看次数: |
1274 次 |
| 最近记录: |