我想使用一个 java 库来代替 ArrayLists...这个库(“Vanilla Java Collections”)需要一个接口以下列方式声明——
interface MutableBoolean {
public void setFlag(boolean b);
public boolean getFlag();
}
这就是这份清单的声明方式——
// create a huge array of MutableBoolean
HugeArrayList<MutableBoolean> hugeList = new HugeArrayBuilder<MutableBoolean>() {}.create();
List<MutableBoolean> list = hugeList;
这就是检索数据的方式——
for (MutableTypes mb : list) {
boolean b1 = mb.getBoolean();
在同一个接口中可以有多种数据类型来插入/检索字符串、整数、双精度等值......
现在,在我正在处理的应用程序中,有一个自定义变量定义——
public abstract class Variable implements MutableVariable {
abstract public byte[] toBinary();
abstract public byte[] toBinary(String charset);
abstract public String toString();
abstract public String toString(String charset);
abstract public List toList();
abstract public boolean isEmpty();
abstract public Object getWrappedObject();
----plus some more functions----
还有一个类“NodeVariable”扩展了“Variable”,另一个类“ListVariable”实现了变量——每个ListVariable都有一个List加上一些与列表和字符串操作有关的实用函数。
我想实现数组替换(“Vanilla Java Collections”)——它需要一个接口——代替“ListVariable”。但是“变量”类是一个抽象类。所以我在这里很困惑 - 我如何实现接口以便我可以使用 ArrayList Substitute("Vanilla Java Collections") 代替 "ListVariable"?
这是否可能对利用“ListVariable”的现有代码进行最小的更改,即通过对“ListVariable”类进行所有/大部分更改?