小编典典
如果绝对必须这样做,请尝试遵循所创建列表 中java.util.List 指定的约定。
您的代码看起来像
public class UnmodifiableArrayList extends ArrayList {
public UnmodifiableArrayList(Collection extends E> c) {
super(c);
}
public boolean add(int index) {
return false;//Returning false as the element cannot be added
}
public boolean addAll(Collection extends E> c) {
return false;//Returning false as the element cannot be added
}
public E remove(int index) {
return null;//Returning null as the element cannot be removed
}
}
在同一行上添加您需要的任何其他方法。只需 确保覆盖了所有可能在您的代码中用于修改的构造函数和方法, 以确保该列表不可修改。
使用Collections API是更干净,更好的方法,因此仅在使用Collections.UnmodifiableList无法满足您的需要时才使用此方法。
请记住,这将是调试时的噩梦,因此请尽可能多地记录日志。
2020-11-01