在抽象类中有以下抽象方法定义:
public abstract Map<String, String> aMethod(aType type);
我无法在Eclipse中阻止此警告:
对泛型类型Map的引用应该参数化
我一直在寻找,似乎无法解决这个问题。我发现其他人遇到了同样的错误,但在他们的情况下似乎有意义。在我的作品中我看不到逻辑。
我可以抑制警告,但在实施解决方法之前,我想了解出了什么问题。
感谢。
答案 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);
}