Da ich nicht weiß, wie dieses Problem überhaupt heißt (bin mir aber sicher, dass es existiert), möchte ich mich kurz fassen.
Ich habe folgende Methoden:
usw. usf. Ich glaube ihr versteht was ich meine. Nun möchte ich diese aufrufen und zwar so, dass ich immer nur zwei Objects übergebe, aber zur Laufzeit die richtige Methode ausgewählt wird. Beispiel:
Rückgabewert ist nicht das Problem; das speichere ich sowieso dann mittels toString() in einen String.
Was soll das Ganze überhaupt? Postfix-Skriptsprache, in der alles in Strings gespeichert wird. Die execute-Methoden sind binäre Operatoren.
Soll möglichst auch für ein Argument (mglw. auch drei?) funktionieren.
Geht das überhaupt oder komme ich um .getClass().equals(o) nicht drumrum?
Danke & Gruß
Lars
Ich habe folgende Methoden:
Code:
public Object execute(Object o1,Object o2);
public Integer execute(Integer o1,Integer o2);
public Float execute(Integer o1,Float o2);
public Float execute(Float o1,Float o2);
public Float execute(Float o1,Integer o2);
public String execute(String o1,String o2);
usw. usf. Ich glaube ihr versteht was ich meine. Nun möchte ich diese aufrufen und zwar so, dass ich immer nur zwei Objects übergebe, aber zur Laufzeit die richtige Methode ausgewählt wird. Beispiel:
Code:
//Achtung schlampiger Quelltext, nur zur Verdeutlichung
Object o1,o2;
foo.execute(o1,o2); // Aufruf von 1
Integer i1,i2;
Object o1 = i1,o2 = i2;
foo.execute(o1,o2); // eigentlich doch Aufruf von 1, ich möchte aber 2
Rückgabewert ist nicht das Problem; das speichere ich sowieso dann mittels toString() in einen String.
Was soll das Ganze überhaupt? Postfix-Skriptsprache, in der alles in Strings gespeichert wird. Die execute-Methoden sind binäre Operatoren.
Soll möglichst auch für ein Argument (mglw. auch drei?) funktionieren.
Geht das überhaupt oder komme ich um .getClass().equals(o) nicht drumrum?
Danke & Gruß
Lars