如何创建“任何”对象的容器

时间:2011-07-07 02:09:43

标签: java

我正在考虑用Java实现一个'容器',我可以在其中存储任何类型的对象,Integer,ArrayList等。当从容器中获取对象时,我将按如下方式转换每个结果:

public void foo(int i) {
    try {
        Integer result = (Integer) container.get(i);
        // do something with result
}
    catch(...){..}

    try {
        Command result = (Command) container.get(i);
        // do something with result
    }
    catch(...){..}

    try {
        ArrayList<MyClass> result = (ArrayList<MyClass>) container.get(i);
        // do something with result
    }
    catch(...){..}
}

2 个答案:

答案 0 :(得分:6)

如果它存储混合的任何类型的对象,请使用Object作为存储类。所有类都继承自Object和原语使用它们各自的包装类。或者只使用已经存在的bazillion容器类之一。

ArrayList <Object> container;

请注意instanceof

,而不是使用try语句

答案 1 :(得分:0)

你的问题是什么?

但除此之外。你为什么要重新发明轮子?任何Map集合类都可以完全按照您的意愿执行。查看HashMap。