有类A,B
class A{}
class B extends A {}
B继承A.
在C中有方法传递参数B
class C {
public A[] test(B b);
}
利用反射将b的数组创建出来,并返回.
如何操作??
class A{}
class B extends A {}
B继承A.
在C中有方法传递参数B
class C {
public A[] test(B b);
}
利用反射将b的数组创建出来,并返回.
如何操作??
public static void main(String[] args) throws Exception {
System.out.println(getStringArray(String.class, 5));
} public static String[] getStringArray(Class<?> classObject, int length)
throws Exception {
String[] strings = new String[length];
for (int i = 0; i < length; i++) {
strings[i] = ((String) classObject.newInstance());// 最好是在你知道类型的情况下 不知道也没关系 可以用泛型
}
return strings;
}
public static void main(String[] args){
A a=new B();
try{
print(getArray(a,10));
}catch(Exception e){
e.printStackTrace();
}
}
public static void print(Object... list){
for(Object o:list){
System.out.println(o);
}
}
public static Object[] getArray(
Object o,
int count
) throws Exception{
Object[] a=new Object[10];
Class cls=o.getClass();
for(int i=0;i<count;i++){
a[i]=cls.newInstance();
}
return a;
}
}class A{
}class B extends A{
static int guid=0;
int num;
public B(){
num=guid++;
}
@Override
public String toString(){
return "B["+num+"]";
}
}