数组长度应该是老师写错了,使用另一个只有一个元素的list初始化时,长度是1。 public static void printSizeAndCapacity(ArrayList<?> l) { Class c = ArrayList.class; try { Field f = c.getDeclaredField("elementData"); f.setAccessible(true); Object[] o = (Object[]) f.get(l); System.out.println(l.size() + ":" + o.length); } catch (Exception e) {} }
数组长度应该是老师写错了,使用另一个只有一个元素的list初始化时,长度是1。 public static void printSizeAndCapacity(ArrayList<?> l) { Class c = ArrayList.class; try { Field f = c.getDeclaredField("elementData"); f.setAccessible(true); Object[] o = (Object[]) f.get(l); System.out.println(l.size() + ":" + o.length); } catch (Exception e) {} }