Java中引用的表示

时间:2013-03-09 05:27:52

标签: java generics reference

Anjelika Langer在她的泛型常见问题解答中写了以下关于Java决定使用代码重用而不是代码专业化用于泛型类型的决定:

  

代码专业化在以下情况下特别浪费   集合中的元素是引用(或指针),因为全部   引用(或指针)具有相同的大小,内部具有   相同的表示。基本上不需要产生   整数引用列表和列表的相同代码   对字符串的引用。两个列表都可以在内部表示   对任何类型对象的引用列表。编译器只需要   每当传入和传出这些引用时,都会添加几个强制转换   通用类型或方法。因为在Java中大多数类型都是引用   类型,它认为Java选择代码共享是很自然的   翻译泛型类型和方法的技术。

所以首先要问的是,所有引用都具有相同的大小并且内部共享相同的表示形式吗?

如果答案是真的,那么Java中的所有引用共享哪些属性?

1 个答案:

答案 0 :(得分:2)

  

所以首先要问的是,所有引用都具有相同的大小并且内部共享相同的表示形式吗?

是。 (为什么你会想象像Anjelika Langer这样知识渊博的人会错的?)

  

如果答案是真的,那么Java中的所有引用共享哪些属性?

它们都有一个Object作为其最终超类型的类型。因此,它们都提供java.lang.Object API中的所有方法。