Überschreibung des Integer-Wert

netrobot

Erfahrenes Mitglied
Integer X = new Integer(10);
wie kann ich Integer X neuen Wert zuweisen?
es muss in der selben Adresse sein, wo 10 gespeichert ist.
Nicht etwa X = new Integer(12);
 
Hallo!

Das geht nicht (legal)... Integer ist immutable also unveraenderlich. (Jedoch kann man immernoch per Reflection den gekapselten Wert aendern, das macht man so aber nicht...)

Gruss Tom
 
In der Praxis z.B. ich habe ein bitmap, per loadimage () kann ich das Image laden, und will jetzt einen Pixelwert an einer bestimmten Stelle ändern, und dann speichern. Da Pixelwert ist einfach ein integer, daher muss ich nur einen Wert ändern, und alle Pixeln unberührt so lassen. Und zum Not muss ich das Image komplett neu erzeugen, aber es verbraucht zuviel Speicherplatz.
 
Hallo!

Dann gibts sicherlich auch eine Moeglichkeit entweder den Pixelwert direkt zu setzten setRGB(x,y) oder zumindest mal an ein (primitives) byte[] oder int[] Array heranzukommen und dort direkt die gewuenschten Aenderungen vorzunehmen. Dafuer die Wrapper Klassen zu verwenden "is not very savvy"...

Gruss Tom
 
noch ein Beispiel:
Code:
public class Test{
     public void ChangeValueOf (Integer x){
                  ...
    }
    public static void main (String [] args){
       int a = 10;
       ChangeValueOf(a);
      }
1. es funktioniert nicht, weil a ist Type int, x ist Integer. Ich moechte parameter als call by reference, aber bei primitiven Typen, java betrachtet die immer als call by value. Ich muss es in Object convertieren.
2. wenn es klappen wuerde, ich kann immer den Inhalt in x nicht aendern.
 
Hi.

Warum willst du denn überhaupt unbedingt call by reference nutzen? Deine Funktion sollte einfach einen neuen Wert berechnen und zurückgeben, den du dann gleich an x zuweisen kannst.

Gruß
 
Es geht nicht um die Übergabe der Parameter, sondern was passiert nach der Übergabe. Ich habe den Wert in Funktion "ChangeValueOf()", wie kann ich den Inhalt von X ändern. Laut vorherigen Einträgen darf ich den Inhalt überhaupt nicht ändern, es ist irgendwie komisch
 
Ich habe auch nicht von der Parameter-Übergabe gesprochen, sondern von der Rückgabe von der Funktion. Du mußt doch nicht die Werte innerhalb der aufgerufenen Funktion ändern. Du kannst doch die Werte der Variablen ändern wenn du Funktion zurückgekehrt ist.

Gruß
 
Zurück