Integer Objekt: Wert ändern

Hallo, ich übergebe mehre Integer-Objekte an eine Funktion.

Die Objekte sollen mit andren Wert zurückkommen.
Leider finde ich keine MEthode Integer.setValue() (oder ähnliches).

Zur Zeit sieht mein Programm so aus:

public class IntObj {
 public static void manuIntger(Integer obj1, Integer obj2){
 obj1+=100;
 obj2+=100;
 }


 public static void main(String[] args){
 Integer o1 = 5;
 Integer o2 = 10;

 IntObj.manuIntger(o1,o2);
 System.out.println(o1 +","+ o2);
 }
}

Die Werte werden nur lokal gändert/es werden neue Objekte erzeugt.
Ich möchte aber die übergebnen Objekte verändern.

Wie mach ich das am besten?

(In c hätte ich einfach &var statt var übergeben).

Moien

Die Objekte sollen mit andren Wert zurückkommen.
Leider finde ich keine MEthode Integer.setValue() (oder
ähnliches).

Integer Objecte sind (wie String, Long, BigDecimal) immutable. D.h. man kann den Wert nicht ändern.

Wie mach ich das am besten?

Die Integer Objecte in ein Array verpacken, die neuen ins Array zurück schreiben.

(Mit Integer arbeiten ist eh nicht wirklich sinnvoll. int macht es auch und ist deutlich schneller.)

cu

Hallo cybertom,

was hältst du davon, für jeden Wert ein Objekt vom Typ „Zahl“ zu erzeugen?

public class Zahl
{
 // Das Feld für deinen Wert.
 public int x;

 // Konstruktor 
 public Zahl(int x)
 {
 // Übergibt den Wert an das interne Feld.
 this.x = x;
 }
}

Das Objekt Zahl kann jetzt wie gewünscht verwendet werden.

public class IntObj
{
 public static void manuIntger(Zahl obj1, Zahl obj2)
 {
 obj1.x += 100;
 obj2.x += 100;
 }

 public static void main(String[] args)
 {
 Zahl o1 = new Zahl(5) ;
 Zahl o2 = new Zahl(10);

 IntObj.manuIntger(o1,o2);
 System.out.println(o1 +","+ o2);
 }
}

Hab es nicht ausprobiert. Sollte jedoch so funktionieren.
Sonst melde dich noch mal.

und tschüs
Uwe

http://www.haller-mtl.de

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]