Java ArrayList<T>
(可能还有许多其他类)内部发生的事情是有一个 internal Object[] array = new Object[n];
,T
对象被写入其中。每当从中读取一个元素时,return (T) array[i];
就会进行一次强制转换。所以,每读一次。
我想知道为什么这样做。对我来说,他们似乎只是在做不必要的演员表。T[] array = (T[]) new Object[n];
只创建一个然后不进行强制转换不是更合乎逻辑并且稍微快一点return array[i];
吗?这只是每个数组创建的一次强制转换,通常远少于读取次数。
为什么首选他们的方法?我不明白为什么我的想法严格来说不是更好?