我正在考虑用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(...){..}
}
答案 0 :(得分:6)
如果它存储混合的任何类型的对象,请使用Object作为存储类。所有类都继承自Object和原语使用它们各自的包装类。或者只使用已经存在的bazillion容器类之一。
ArrayList <Object> container;
请注意instanceof
。
答案 1 :(得分:0)
你的问题是什么?
但除此之外。你为什么要重新发明轮子?任何Map集合类都可以完全按照您的意愿执行。查看HashMap。