BufferedImage kopieren

Status
Nicht offen für weitere Antworten.

The_S

Top Contributor
Werd grad nicht so richtig aus dem BufferedImage schlau. Warum ändert sich das eine image immer mit wenn ich das andere verändere?

Code:
bufferedimage1 = bufferedimage2;

N String ändert sich doch auch net ständig wenn ich

Code:
str1 = str2;

schreib, nur weil sich der andere ändert!?
 
du kopierst objekte mit clone() oder dem new-operator.

Code:
image1 = image2;

das bedeutet, die referenz image1 zeigt aufs gleiche objekt im speicher wie die referenz image2. wenn du nun image2 änderst, dann hat das auch seiteneffekte auf image1.

bei primitiven datentypen ist das ANDERS, also lass dich da nicht verwirren.
 
eigentlicher Grund: Strings sind "immuteable"

d.h. ein Stringobjekt kann sich nie "ändern"

String s2 = s1; // völlig harmlos

es gibt eben überhaupt keine Methoden, die den "Zustand" eines String verändern würden - es gibt ja nichteinmal einen solchen Zustand -, also gibts natürlich auch keine Seiteneffekte

das betrifft alle immutable Klassen: String, die Wrapper für die primitiven, BigInteger usw.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben