Autoboxing

Status
Nicht offen für weitere Antworten.

siba

Bekanntes Mitglied
Werden Wrapper-Objekte immer in primitive Datentypen umgewandelt, wenn Operatoren (welche auch immer) im Spiel sind? Oder gibt es Ausnahmen?
 

Leroy42

Top Contributor
Bei Operatoren behaupte ich einfach mal: Ja

Bei Methoden kommt es darauf an:

Code:
public class abc {
	static void erna(int i) {System.out.println("erna");}
	static void erna(Integer i) {System.out.println("erwin");}

	public static void main(String[] args) {
		erna(9);
		erna(new Integer(9));
	}
}

Hier werden beide erna-Methoden aufgerufen. Kommentierst du
die zweite aus, wird beidesmal die erste Methode aufgerufen.

Oder was war jetzt deine Frage ???:L
 

siba

Bekanntes Mitglied
Das mit den Operatoren glaube ich jetzt. Ich habe bis jetzt auch nichts gegenteiliges gefunden. Oder gibt es doch noch Probleme?

Das zweite Beispiel ist gut, auf solche Ideen wäre ich gar nicht gekommen! Aber an solche Sachen muß man natürlich auch denken.
 

AlArenal

Top Contributor
Wobei ich UML zu Beginn als Instrument zur Planung sehe. Der Doku-Charakter ist dann im weiteren Verlauf mehr ein Abfallprodukt ;)
 
B

bygones

Gast
AlArenal hat gesagt.:
Wobei ich UML zu Beginn als Instrument zur Planung sehe. Der Doku-Charakter ist dann im weiteren Verlauf mehr ein Abfallprodukt ;)
aha - gut zu wissen im Thema "Autoboxing" :wink:

schon keinen überblick mehr was wo posten :)
 

siba

Bekanntes Mitglied
Ich freue mich auch über Themaverfehlungen macht das Ganze ein wenig lustiger, wenn auch andere Leute Fehler machen :) :wink: !

Ich bin zwar mit den Operatoren noch nicht allzusehr weitergekommen, aber dafür habe ich einen interessanten Link zu Autoboxing und Immutable Objects gefunden: http://today.java.net/pub/a/today/2005/03/24/autoboxing.html. Und je mehr ich über Autoboxing weiß, desto mehr verfluche ich es! Vorher war ja schon alles kompliziert, aber daran hatte man sich irgendwie gewöhnt! Langsam bezweifle ich, ob Autoboxing so eine große Arbeitserleichterung ist :cry:
 
S

stev.glasow

Gast
http://today.java.net/pub/a/today/2005/03/24/autoboxing.html
Der Punkt vom Satzende wurde mit in die URL übernommen.

Und je mehr ich über Autoboxing weiß, desto mehr verfluche ich es! Vorher war ja schon alles kompliziert, aber daran hatte man sich irgendwie gewöhnt! Langsam bezweifle ich, ob Autoboxing so eine große Arbeitserleichterung ist
Was meinst du denn? Was war vorher schon alles kompliziert? Java oder wie? Red mal klartext :?
 

siba

Bekanntes Mitglied
Klartext: Ich hatte heute nachmittag nur so den Eindruck, daß es jetzt durch das Autoboxing mehr Ausnahmen zu beachten gibt! Irgendwie kam mir dann das "wrappen" und das anschließende wieder entpacken einfacher vor! Aber ich werde mich sicherlich daran gewöhnen! Nichts für ungut! Aber obenstehender Link hat mir sehr weitergeholfen! Es tut mir leid, daß durch den Punkt der Link nicht mehr funktioniert hat! Ich werde das nächste Mal darauf achten!
 

MPW

Top Contributor
Was ist eigentlich mit Strings, da gibt es doch auch diese Sonderdeklaration, die man sonst nicht machen(ausser bei Objects, da gehts auch) kann...

Code:
String s = "irgendwas";

Eigentlich ist das doch auch eine Art Autokonvertierung, aber gehoert doch nicht zum Autoboxing, oder?(Mal abgesehen davon, dass das schon seit 1.0 geht)

Gehoert das zur Sprachsyntak, oder unter welchen Aspekt darf man das fassen?
 

siba

Bekanntes Mitglied
Ja, an String-Literale hatte ich auch schon die ganze Zeit gedacht, die existieren auch nur einmal in einem Stringpool! Nur das es hier bei Integer i = 10; (Zuweisung eines Wrappers zu einem primitiven Datentyp) nur ein bestimmter Zahlenbereich ist, der nur einmal vorhanden ist: von -128 bis 127. Diese Zahlen existieren auch nur einmal im Cache / Pool. So reagiert dieser Zahlenbereich beim Vergleich mit == genau gleich wie String-Literale, es wird nicht die Referenz verglichen, sondern die Zahl. Und dies hat ein true zur Folge.
 
B

bygones

Gast
nunja es ist nicht ganz korrekterweise Autoboxing, da du hier keine Umwandlung von Objekten und primitiven Datentypen hast....

bzgl des Pools hat es natürlich ein ähnliches verhalten, wobei der StringPool dynamisch ist, der der Wrapper Objekte aber eine klare Grenze hat und somit starr ist
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben