考虑到 Java 类的这一部分,
private List<Object> components = new ArrayList<Object>();
private A a;
private B b;
private C c;
add(a, b, c);
public void add(Object... component){
for(Object o : component) {
components.add((CAST)o);
}
}
我想将我的 Object o 按好类型投到列表中。
这里的预期结果将是A a, B b, C c
在我的列表中。
我尝试使用 getClass(),但没有编译。考虑到我已经知道预期的 Java 类型,我如何向上转换对象?
编辑:
我需要添加 A 类型的第一个对象,B 类型的第二个对象,C 类型的第二个对象,...(我不知道要添加的项目数)如果是一个列表,以便我能够获取包含正确键入的 N 个对象的列表。(gtt(0) 将输入为 A,get(1) 输入为 B,get(2) 输入为 C)
因为我不知道对象的数量,而且我最初也不知道对象的类型,所以我将我的列表声明为 Object。
我创建了一个方法(add
在这种情况下)。它 varargs 将帮助我在集合中循环,因为我不知道 args 的数量。
我只想在我的可变参数中获取第一个对象、第二个对象和第三个对象(依此类推),并将其简单地推送到我的列表中,但不是作为对象类型,如 A、B 或 C,取决于我收到了什么!
我不知道它是否更清楚。