对泛型类型Map <k,c>的引用应该参数化</k,c>

时间:2010-11-01 11:23:59

标签: java eclipse

在抽象类中有以下抽象方法定义:

public abstract Map<String, String> aMethod(aType type);

我无法在Eclipse中阻止此警告:

  

对泛型类型Map的引用应该参数化

我一直在寻找,似乎无法解决这个问题。我发现其他人遇到了同样的错误,但在他们的情况下似乎有意义。在我的作品中我看不到逻辑。

我可以抑制警告,但在实施解决方法之前,我想了解出了什么问题。

感谢。

3 个答案:

答案 0 :(得分:5)

您的Map已经参数化,因此警告没有意义。尝试清理你的项目。

答案 1 :(得分:2)

这个警告可能是由

引起的
public Map aMethod(aType type);

与此不同的是:

public Map<String, String> aMethod(aType type);

是后者创建了一个只能将字符串放入其中的Map,但是您可以确保在请求值时始终获得字符串。前者使你能够把所有东西都放在里面,但你不能确定从地图上取值时会得到什么。

答案 2 :(得分:1)

您确定文件的错误是最新的吗?

编译时没有警告:

import java.util.Map;
class aType {}

public abstract class Main {
    public abstract Map<String, String> aMethod(aType type);
}

然而,这会产生您描述的错误:

import java.util.Map;
class aType {}

public abstract class Main {
    public abstract Map aMethod(aType type);
}