Java语法的泛型类和方法直到Java 5.0才添加。但早期版本的Java具有集合类,例如数组列表或链表。如何在没有通用语法的情况下实现和使用类。为什么泛型的语法更好?
答案 0 :(得分:1)
如果没有泛型,每个项目都将作为所有Java对象的基类' Object'存储在集合中。这意味着当你将它们从集合中取回时重新铸造它们。重新铸造意味着你必须确定它们是什么类型,这使你容易犯下危险的错误。使用泛型,您可以永久记录您在集合中存储的对象的类/类型,以便在它们出现时,它们仍然表示为该类的对象。没有更多的铸造问题。
答案 1 :(得分:0)
泛型提供类型安全性。例如,如果您有ArrayList<String>
,则您知道它只能保存字符串。但是,如果您只有List
作为原始类型,则可以向其添加不同类型的对象,这可能会在运行时从列表中检索项目时导致ClassCastExceptions。
有关为什么应始终使用泛型而不是原始类型的完整说明,请参阅有效Java中的泛型一章,特别是“第23项:不要在新代码中使用原始类型”:http://uet.vnu.edu.vn/~chauttm/e-books/java/Effective.Java.2nd.Edition.May.2008.3000th.Release.pdf < / p>
答案 2 :(得分:0)