我想保留我的子类通用,所有我想要改变的是ArrayList的add(Object)方法,以便在调用arrayList.add(null)时不添加任何东西(ArrayList的正常实现将会添加null ;我想让它什么都不做)
解决方法
在这种情况下,您应该优先于继承的组合,因为如果您忘记覆盖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; } }