如何在实现Map时强制泛型参数超类类型?

时间:2015-05-01 02:16:09

标签: java generics

我有各种GameObject个。我想为它们制作基本的集合定义:

//Wrong number of type arguments; required 2. > expected
public interface GameObjectMap<T> extends Map<String, T extends GameObject> {

}

集合将始终按字符串映射(因为数据为loaded from JSON)。但第二个泛型类型参数应该是GameObject的任何实例。我不知道如何正确编写上面的代码。

1 个答案:

答案 0 :(得分:4)

你几乎是对的。只需将extends GameObject移动到第一个通用定义:

public interface GameObjectMap<T extends GameObject> extends Map<String, T> {

}