0

我有一个问题,我将 HashMap 定义为变量,我应该在其中使用一个类以获得更好的可扩展性。

我想 Eclipse 重构

HashMap<String, Integer> result

变量到我的结果类类型中,然后我可以扩展它。考虑到HashMap在我的整个项目中都使用了 ,我该如何做到这一点?

我希望结果不是一个HashMap,而是一个对象。

public class result {
     HashMap<String, Integer> res;
     public void setres(String res, int res) {

     }
}
4

2 回答 2

0

刚开始更换。创建具有自己的 HashMap 字段的类,并在代码中的某处将 HashMap 替换为 YourClass。现在您将看到一些红色下划线,其中您的类没有实现 (HashMap) 方法。使用 QuickFix 创建缺少的方法,然后(短期)将调用直接委托给该字段。您将看到其他一些下划线,例如,您将 YourClass 传递给需要 HashMap 的方法。快速修复,因此该方法现在需要一个 YourClass,并修复您在那里看到的错误。重复直到完成。

于 2013-03-06T17:09:40.003 回答
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();
于 2015-07-27T18:55:35.807 回答