在这种情况下,您应该优先于继承的组合,因为如果您忘记覆盖ArrayList中
添加/更改元素的一种
方法(例如,您可以忘记覆盖集合),那么仍然可以使用空元素.
但是由于问题是关于如何子类化ArrayList,所以你可以这样做:
import java.util.ArrayList;
public class MyArrayList<T> extends ArrayList<T> {
public boolean add(T element) {
if (element != null) return super.add(element);
return false;
}
}