noSuchMethodException

davidh38

Bekanntes Mitglied
Hey Leute,

ich rufe mit

Java:
setModelProperty(ELEMENT_FILEOPEN_PROPERTY,a);

folgende funktion auf, wobei 'a' ein File objekt ist

Java:
void	setModelProperty(String propertyName, Object newValue ){
try{	
	for (AbstractModel model: modelList){
		Method method = model.getClass().getMethod("set"+propertyName, new Class [] {newValue.getClass()});
		method.invoke(model, newValue);
		
	}
}
	catch (Exception ex
			) {
ex.printStackTrace();		
	}


hier gibt es eine noSuchMethodException, obwohl es die Methode in der gewünschten Klasse gibt. Wenn ich den Parameter auf String oder Int ändere, dann gibt es keine Exception und alles ist wie gewünscht. Woran liegt das?
 
S

SlaterB

Gast
wenn es nur am Parameter liegt:
ganz entfernt besteht die Möglichkeit, dass das Objekt per Serialisierung aus einem anderen Kontext kommt und sich gleichnamige Klassen dann doch unterscheiden, weil separat kompiliert,
String und Co. sind davon nicht betroffen da in der Standard-API immer gleich

ist zufällig Serialisierung, RMI, WebService, Datei oder irgendetwas komische beteiligt?
irgendwas muss es ja fast sein, sonst brauch man diesen Reflection-Umweg nicht..

in einem einfachen abgeschlossenen Testprogramm mit 1-2 neuen Dummy-Klassen + entsprechenden Aufruf lässt sich der Fehler nicht fürs Forum reproduzieren, stimmts?

-----

> "set"+propertyName
ist komisch, sollte nicht der Property dann mit Großbuchstaben beginnen?
aber wenn du meinst dass es mit String-Parameter funktioniert..
 

Ähnliche Java Themen

Neue Themen


Oben