Frage zu Typen bei MethodenAufruf

Hallo Freunde,

ich habe eine Methode definiert, deren Signatur ist:

public void addElement(String s1, String s2) { …

Wenn ich nun in der main-Routine folgendes schreibe:

addElement("" + 12, „“ + 45);

dann funktioniert die Methode einwandfrei.


Wenn ich aber in der main-Routine schreibe:

int z1 = 12;
int z2 = 45;
addElement("" + z1, „“ + z2);

dann funktioniert es nicht.

Wo ist denn da der Unterschied zwischen beiden Aufrufarten?
Ich muß das Programm flexibel gestalten und kann nicht immer explizite Parameter in den Funktionsaufruf schreiben, sondern brauche die Variablen z1 und z2.

Danke für Eure Tips!

Gustav

Wo ist denn da der Unterschied zwischen beiden Aufrufarten?

Hm ich habe das nach deinem Schema schon oft gemacht, ehrlich gesagt glaube ich nicht, dass das so nicht geht :wink: sicher dass der Fehler nicht woanders liegt?

Ansonsten String.valueOf(z1) anstatt der unsauberen „“ + z1 Lösung

Grüße
Bruno

Hallo,
das müßte gehen (s.h.

http://java.sun.com/docs/books/jls/second_edition/ht…

)

Gruss
Enno

Hallo Freund,

public void addElement(String s1, String s2) { …

int z1 = 12;
int z2 = 45;
addElement("" + z1, „“ + z2);

Ich muß das Programm flexibel gestalten und kann nicht immer
explizite Parameter in den Funktionsaufruf schreiben, sondern
brauche die Variablen z1 und z2.

wenn du das Programm flexibel gestalten willst (musst), dann definiere dir dafür gleiche Methoden, die jeweils eine andere Signatur haben, also z.B.:

public void addElement(String s1, String s2) {…}
public void addElement(String s1, int i1, String s2, int i2) {…}
public void addElement(String s1, double d1, String s2, double d2) {…}

Dann bist du flexibel genug…

Ciao, Bill