kann mir wer helfen:
ich habe folgende methode:
beim aufruf kommt aber der fehler:
wo ist mein fehler?
ich habe folgende methode:
Java:
public static Object umwandeln(Object ichWillAufgerufenWerden, String diesenTypenWillIch, Object dasHabIch) {
String diesenTypenHabIch = dasHabIch.getClass().getSimpleName();
if (!diesenTypenWillIch.equals(diesenTypenHabIch)) {
try {
String methodenName = diesenTypenHabIch.concat("In").concat(diesenTypenWillIch);
return ichWillAufgerufenWerden.getClass().getMethod(methodenName, new Class[] {dasHabIch.getClass()})
.invoke(new Object[] {dasHabIch});
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (java.lang.reflect.InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return dasHabIch;
}
beim aufruf kommt aber der fehler:
Java:
java.lang.IllegalArgumentException: object is not an instance of declaring class
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at test.umwandeln(test.java:35)
at test.main(test.java:16)
at __SHELL101.run(__SHELL101.java:7)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at bluej.runtime.ExecServer$3.run(ExecServer.java:798)
wo ist mein fehler?