Java Autoboxing

In Java 1.5 wurde das „autoboxing“ und „auto-unboxing“ zur Sprache hinzugefügt.
Es wird jetzt automatisch von einem „primitiven“ Datentyp wie int, boolean oder double in die korrespondierenden „boxing“ Datentype wie Integer, Boolean oder Double gewandelt. Siehe Beispiel 1. Was kommt aber in Beispiel 2 raus, wenn man die Klasse ausführt?


public class Unmöglich {

private static Integer i;

public static void main(String[] args) {

// Beispiel 1
int x = new Integer(42); // Integer nach int (unboxed)
Integer y = 42; // int nach Integer (boxed)

// Beispiel 2
if (i == 42){
System.out.println("Unmögliches autoboxing!");
}
}
}
„Java Autoboxing“ weiterlesen

UML Komposition

Eine Komposition ist ein Sonderfall der Aggregation, er beschreibt die Beziehung zwischen einem Ganzen und seinen Teilen. Ein Teil kann immer nur genau einem Ganzen zugeordnet sein.

In UML kann eine Komposition die an der ausgefüllten Raute am Ganzen, so dargestellt werden:
UML Komposition
Eine Komposition in Java kann wie folgt erstellt werden „UML Komposition“ weiterlesen

Autom. formatieren + organize imports mit Save Actions

In Eclipse kann unter dem Menüpunkt:

Windows : Preferences : Java : Editor : Save Actions

eingestellt werden, dass bei jedem speichern, automatisch ein „formatieren“ und ein „organize imports“ stattfindet.

Ein save mit dem Tastaturkürzel strg + s tut dann alles wie gewünscht.

Integer Caching

Schau Dir mal diesen Code an. Was erwartest Du bei dem 3. Vergleich?


public class Test {

public static void main(String[] args) {

Integer wertGleich = 100;
Integer wertAuchGleich = 100;

// Referenzvergleich: Test 1
System.out.println(wertGleich == wertAuchGleich); // ergibt true

// gleicher Test nur mit anderen Wert
Integer wertGleichZwei = 122;
Integer wertAuchGleichZwei = 122;

// Referenzvergleich: Test 2 auch
System.out.println(wertGleichZwei == wertAuchGleichZwei); // ergibt true

// Dreimal ist Bremer Recht: Test 3: Gleicher Test nur mit anderen Wert
Integer wertUngleich = 150;
Integer wertAuchUngleich = 150;

// Was erwartest Du? "Integer Caching" weiterlesen