// Concrete implementation built atop skeletal implementation
static List<Integer> intArrayAsList(final int[] a) {
if (a == null)
throw new NullPointerException();
return new AbstractList<Integer>() {
public Integer get(int i) {
return a[i]; // Autoboxing
}
@Override
public Integer set(int i, Integer val) {
int oldVal = a[i];
a[i] = val; // Auto-unboxing
return oldVal; // Autoboxing
}
public int size() {
return a.length;
}
};
}
これまでのところ、抽象クラスをインスタンス化することはまったくできないことを私は知っていました。しかし、ここで同じことをしているのではないreturn new AbstractList<Integer>()
でしょうか。私は混乱しています 。