【发布时间】:2019-11-05 12:22:02
【问题描述】:
我目前正在实施一个需要实施 Comparable 的自定义供应商。
由于我的班级实现了 Comparable,因此我必须自己实现 compareTo()。但是,作为 Generic Type ,我如何比较这些值?因为它们几乎可以是任何东西。
class CachedSupplier<T> implements Comparable<T>{
private Supplier<? extends T> supplier;
private T value;
boolean isAvailable;
public CachedSupplier(Supplier<? extends T> supplier) {
this.supplier = supplier;
}
public T get() {
if (!isAvailable) {
value = supplier.get();
isAvailable = true;
}
return value;
}
public int compareTo(T o) {
return get().compareTo(o);
}
}
【问题讨论】:
标签: java oop generics comparable