什么时候绝对必要的通用数组 - 一个案例

Roa*_*oam 25 java arrays generics arraylist

这个Q是寻找一个绝对必要的泛型数组的示例.

泛型和数组"混合不好".

是否存在通用ArrayList不会执行的情况 - 通用数组没有替代品并且必须使用.

有效的Java为通用数组打开了一扇门,表示可能存在需要通用数组的情况.

我一直在使用ArrayList没有任何缺点,也不能想到这样的情况.

TIA.

注意:我见过这些:

以及其他一些讨论.

Uwe*_*nus 7

一些要点:

  • 如果您有一些"遗留"库,那么您将被绑定到他们使用的类型.这可能是数组.

  • 如果您处理本机代码,那么数组将是一种更自然的方式来与本机代码交换数据.

  • 如果您访问二进制数据(例如声音文件或类似文件),那么使用数组可以提供帮助.

  • 如果处理大量二进制数据,那么数组可能更有效.

因此,有很多理由可以解释为什么数组可能有用(特别是对于基本类型).

如果你只处理对象,那么大多数时候使用它更容易List.

  • *"是否存在通用ArrayList****不会****执行的情况"*; 你提到的这一点都没有阻止使用`ArrayList`. (3认同)
  • 第2,3和4点似乎不是泛型的应用. (2认同)

Umb*_*ndi 6

我会说Bloch意味着方便而不是必要,数组更简单的结构,更容易处理.

作为数据结构,从功能的角度来看,ArrayList可以与数组互换.

阵列显然更精益内存,但需要额外的努力来获得一些基本功能(即当原始数组不足以容纳新元素时手动数组调整大小)但运行时(Arrays类)已经提供了其他功能.

ArrayLists由实际Object数组支持,因此对于搜索和排序等常见操作(使用相同的算法时),性能没有太大差异.