我遇到的问题是我将HashMap定义为一个变量,我应该使用一个类来获得更好的可扩展性。
我希望eclipse能够重构
HashMap<String, Integer> result
变量到我的结果类类型,然后我可以扩展。考虑到在整个项目中使用HashMap
,我怎样才能做到这一点?
我希望结果不是HashMap
,而是对象。
public class result {
HashMap<String, Integer> res;
public void setres(String res, int res) {
}
}
答案 0 :(得分:0)
刚开始更换。使用自己的HashMap字段创建您的类,并在代码中的某处用YourClass替换HashMap。现在你会看到一些红色下划线,你的类没有实现(HashMap)方法。使用QuickFix创建缺少的方法,然后(短期)将呼叫直接委托给该字段。您会看到其他一些下划线,例如,您将YourClass传递给需要HashMap的方法。 QuickFix,因此该方法现在需要一个YourClass,并修复你在那里看到的错误。重复直到完成。
答案 1 :(得分:0)
虽然Carl Manaster的回答是绝对正确的,但我会推荐一种不同的方法,扩展HashMap本身。因此,您只需要重写构造函数并覆盖所有HashMap方法,并且可以添加您需要的任何其他字段或自定义方法。
首先你创建一个这样的类:
class ResultHashMap extends HashMap<String, Integer> {
//Add all your customization here
}
然后你替换所有的:
HashMap<String, Integer> reslut = new HashMap<String, Integer>();
要:
ResultHashMap result = new ResultHashMap();