1

参考以下示例时,E 类型和 Object 类型有什么区别?

例子

List 接口有两个方法,Add(E e) 和 Remove(Object obj)。

每种方法是如何决定使用 E 或 Object 的?

换一种说法,在编写自己编写的方法的标头时,我怎么知道是使用 E 还是 Object ?

4

1 回答 1

0

Collections Framework 坚定地坚持这样的规则,即如果任意Object人可以破坏集合以供将来使用,则E使用该规则;否则Object使用。

例如,Integer从 a中删除 aList<String>是无操作的,因此是允许的;将 a添加Integer到 aList<String>会在将来导致 a ClassCastException,因此不允许这样做。

于 2013-09-18T21:36:23.190 回答