假设我正在创建一个库,其中提供了一个优先级队列类。用户实例化一个并实现一个 Comparator 接口,然后将其轻轻传递给优先级队列。我想要:
1. 授予用户轻松定义 Comparator 类的可能性 - 通过将其实现为匿名类,就像此示例所示:
PriorityQueue<int> pq = new PriorityQueue<int>();
pq.setComparator(new Comparator<int>() {
@Override
public int compare(int i1, int i2){
if(i1 < i2) return -1;
else if(i1 > i2) return 1;
else return 0;
}
};);
2. 授予用户序列化和反序列化优先级队列及其附加比较器的可能性。
3. 只使用JDK来实现这个,没有其他外部库
什么方法最适合实现这一目标?
目前我在反序列化 Comparator 类时遇到问题,更具体地说是创建它的一个实例,因为它在创建它的类中是私有的(“拥有”它)并且它也没有空构造函数(这不是真正的大问题,因为我可以使用它公开的可用构造函数)。
感谢您提前提出任何建议。