Integer pass by Reference
-
Hallo,
Integer x1,x2; funk(Integer x1,Integer x2) { x1++;x2++; }
Egal was ich mache, x2 und x2 sind trotzdem noch 0 obwohl ich sie in der Funktion hochzähle.
-
Es gibt in Java kein pass by reference. Du übergibst zwar eine Referenz (auf ein Integer-Objekt), aber das by-value, d.h. wenn Du x1 innerhalb der Funktion änderst, ändert sich ausserhalb nichts.
-
Aber Klassen sind doch eigentlich immer by Reference
-
Java kann keine Operatoren überladen. Das ist schonmal ein Hinweis, dass da beim ++ ein Autoboxing statt findet. Zudem ist Integer auch noch immutable.
Du musst also selber wrappen, wenn du sowas haben willst.
-
Wie kann man in Java Eclipse eigentlich die Konsole ausgeben ?
syso. Gibt nur in diesem Eclipse fenster unten aus.
-
Wenn du dein Programm zb in eine jar exportierst und dann startest (java statt javaw) erscheint dir auch eine Konsole
-
Bau dir deine eigene Mutable Integerklasse. Oder benutze eine fertige: