如何在Java中泛化Hashmap类型?

如何在Java中泛化Hashmap类型?,java,Java,我想概括一下我从应用程序的函数中返回的结果。目前,我返回一个Hashmap作为结果,并将其解析到UI中,将其显示给用户 我想扩展应用程序返回的值。快速示例: public class Model implements Runnable { private HashMap<String, Integer> result; public HashMap<String, Integer> returntheanswertoeverythi

我想概括一下我从应用程序的函数中返回的结果。目前,我返回一个Hashmap作为结果,并将其解析到UI中,将其显示给用户

我想扩展应用程序返回的值。快速示例:

    public class Model implements Runnable {
        private HashMap<String, Integer> result;
        public HashMap<String, Integer> returntheanswertoeverything() {
            HashMap<String, Integer> result = new HashMap<String, Integer>(result.putall(answer(universe));
// returns (universe,42)

            return result;
            }
    }
公共类模型实现可运行{
私有HashMap结果;
public HashMap返回所有内容的答案(){
HashMap result=新的HashMap(result.putall(answer(universe));
//返回(宇宙,42)
返回结果;
}
}
结果返回hashmap和我的结果。在一个单独的函数或GUI中,我可以将其输出给用户。但是,如果我不想只返回一个整数,还想返回其他内容,我如何才能做到最好


如果我想为宇宙返回第三个(第四个…)答案?我如何保持此可扩展性?

如果您想返回除
整数之外的其他信息,请创建一个包装类,在其中存储数据,并将其放入
映射中

public YourAdditionalInfoClass {

    // Up to you if you want getter/setters or just public visibility
    public Integer yourIntegerValue;

    // Replace Object by the additional class you want
    public Object yourAdditionalInfo;
}

public HashMap<String, YourAdditionalInfoClass > returntheanswertoeverything()
public YourAdditionalInfoClass{
//如果您想获得getter/setter或只是公开可见性,则由您决定
公共整数yourIntegerValue;
//用所需的附加类替换对象
公共对象yourAdditionalInfo;
}
public HashMap返回所有内容的答案()

我不理解你的问题。你能发布一个示例来说明你正在尝试做什么吗?不要返回映射。返回对象。Java是一种OO语言。请使用“遵守名称约定”,即使在你的示例“returnTheAnswerToEverything()中也是如此'和@JBNizet您的意思是返回一个对象,现在返回一个HashMap,这也是一个对象,我不明白您的意思?好的,方法显然是将HashMap中的整数重构为一个对象。这在eclipse中很容易实现吗?举个例子,我非常感激。我的意思是,如果该方法应该返回I关于用户的信息,它应该返回类
user
的实例。如果它必须返回有关宇宙的信息,它应该返回类
universe
的实例。使用OO,以及定义良好的类型化字段、方法、封装和多态性。