我有Event类和Future类
我需要创建一个这样的地图:
private Map<Event<E>, Future<E>> messageToFuture;
我在这里不能真正使用E,因为它没有定义,但是我需要告诉编译器它们都是相同的类型。
正确的方法是什么?
答案 0 :(得分:0)
我不确定这是否可以帮助您。
您可以通过以下方式使用:
private Map<Event<?>, Future<?>> messageToFuture;
或者也许这样的肮脏方式可以帮助您:
private Map<Event<Object>, Future<Object>> messageToFuture;
答案 1 :(得分:0)
您需要在类级别定义类型参数E
public class Something<E> {
private Map<Event<E>, Future<E>> messageToFuture;
}
或定义Map的子类型并使用它,例如:
public class XXX {
public interface MapEventE2EventE<E> extends Map<Event<E>,Event<E>>{}
private MapEventE2EventE<?> messageToFuture;
}