【发布时间】:2014-07-09 00:58:47
【问题描述】:
好吧,说我有课:
public class ExampleClass() {
public void exampleClassMethod(ArrayList<CustomClass> abcdefg> arrList) {
....
}
public void exampleClassMethod2(ArgumentToTakeInAnyCustomClass custClassArg) {
....
}
}
现在我希望能够将任何对象的任何数组列表传递给该类中的该方法。
假设我要传入的自定义类是 CustomClass1、CustomClass2、CustomClass3。
如何设置该方法以接受我传入的任何 ArrayList?另外,假设我只是想自己传递其中一个类,就像在第二个示例方法中一样,我该怎么做?
谢谢。
public void testerMethodInitiater() {
CustomClass1 abc = new CustomClass1();
tester((Object) abc);
}
public static void tester(Object abc) {
//do stuff
System.out.println(abc);
if(abc instanceof CustomClass1) {
System.out.println("This is a CustomClass1");
}
(I need to tell the program to create a new CustomClass1 here if it's a CustomClass1) tester;// = new Object<Universalvars.getClassInUse()>;
}
上面的代码打印出该对象是 CustomClass1 的一个实例,但我不确定此时如何创建一个新的 CustomClass1,除非我做了一个条件语句来命名我正在尝试的所有可能发生的可能性避免。
【问题讨论】:
-
第二种方法你可以使用接口作为包装器
-
你为什么不通过
Object? -
我该怎么做呢?谢谢。
-
@alfasin 我认为它可以更笼统。就像传递 List 一样,它是包含 arrayList 或...的超集...
-
我尝试了对象的事情没有运气