Code:
public static Object getklassofname(String name,Object[] konstrukt) throws ClassNotFoundException, NoSuchMethodException, InstantiationException, IllegalAccessException, InvocationTargetException{
Class rc=Class.forName(name);
Class[] allc=new Class[konstrukt.length];
for (int i = 0; i < allc.length; i++) {
allc[i]=konstrukt[i].getClass();
}
Constructor rcc=rc.getConstructor(allc);
Object o=rcc.newInstance(konstrukt);
return o;
}
wenn ich jetzt
Code:
//Edit:
Object[] i={new Integer(3).intValue(),new Integer(3).intValue()};
r.rmoteapi.getklassofname("java.awt.Point",i);
Code:
java.lang.NoSuchMethodException: java.awt.Point.<init>(java.lang.Integer, java.lang.Integer)
at java.lang.Class.getConstructor0(Class.java:2705)
at java.lang.Class.getConstructor(Class.java:1656)
at r.rmoteapi.getklassofname(rmoteapi.java:32)
also ich hätte eigentlich gedacht dass das funktioniert.
weiß zufällig jemand was in dem code Falsche ist.
das hier würde funktionieren aber das nützt mir nichts
Code:
Class<Point> pointClass = Point.class;
Constructor<Point> constructor =
pointClass.getConstructor( int.class, int.class );
Point p = constructor.newInstance( 10, 20 );
System.out.println( p );
also ich dachte es ist egal ob int oder Integer