# Nicht Primitive Datentypen



## sousou (31. Jan 2010)

Hallo zusammen,


In Java gibts ja primitive Datentypen und nicht Primitive Datentypen. Soweit ich durch google verstehen konnte sind primitive Datentypen die standatd deklarationen wie float, short, byte, long, int, char.. da diese einfach einen Wert zugewiesen werden können.


Was sind dann nicht primitive Datentypen? Arrays und objekte oder gibts da noch reichlich mehr? Hab nämlich ne Aufgabe in den ich 5 nicht primitive Datentypen nennen soll.


lg


----------



## Landei (31. Jan 2010)

Na ja, du sagts es ja schon: Objekte. Und davon gibt es bekanntlich genug Typen: String, Date, UnsupportedOperationException...


----------



## faetzminator (31. Jan 2010)

Als Spezialfall wären da noch Enums zu nennen - Enumerationen: Galileo Computing :: Java ist auch eine Insel (8. Auflage) – 6.4 Konstanten und Aufzählungen


----------



## C_A (31. Jan 2010)

Primitive / einfache / elementare Datentypen: 
Von Kopf bis Fuß sagt: Bei charmanten Bären sind Ihre leckeren Früchte dahin 
Oder auch byte - char - bool - short - int - long - float - double. 

Die anderen sind komplexe Datentypen - alles was irgendwie in einer Klasse beschrieben wird, also Strings, sämtliche Objekte etc. 

Unterschied ist klar: String text = "blabla"; text.ToUpperCase(); ist möglich, bei Char geht das nicht. 
Noch nen Unterschied: primitive Dtyen kommen auf den stack, komplexe auf den Heap. 
int a = 5; int b = a; Folge: b kriegt den Wert von a in Kopie
String a = "text"; String b = a; Folge: b kriegt ne Referenz auf Heap-Objekt

Oder so ähnlich ;-)


----------



## sousou (31. Jan 2010)

thx, also sind so gesehen auch Random, BufferedImage auch keine primitive Typen da die Referenz ja den Typ(Random) des Objekts hat.?

Beispiel:
Random zufallszahl = new Random();


Random ist der Typ
zufallszahl die Referenz und das New erstellt ein Objekt von Random


----------



## faetzminator (1. Feb 2010)

Genau.


----------

