Was verstehst du unter Datenbank? Hoffentlich alles, womit Daten persistent gemacht werden können, z.B. auch Dateien. Für diese und andere Streams sind Bytes bzw. Bytearrays nämlich unumgänglich, auch wenn man es zunächst gar nicht mitbekommt, weil man ObjectStreams usw. verwendet. Wäre ja was, wenn man da für jedes einzelne Byte ein separates Int verwenden müsste. In dieser Hinsicht machen dann auch alle anderen niederen Datentypen wie Boolean (verschwendet gleich ganze 31 Bits), Short und Char wieder Sinn, nämlich wenn man Wertebereiche ohne ständige Bitverknüpfungen eingrenzen will bzw. muss.byte wird aber tatsächlich ziemlich selten genutzt, meist nur beim Ablegen der Daten in einer Datenbank, wenn überhaupt.
was wäre das denn bei Dateien?Wäre ja was, wenn man da für jedes einzelne Byte ein separates Int verwenden müsste.
In C gibt es sechs Typen von Ganzzahlen, welche jeder Compiler anders interpretieren darf. Sie dürfen sogar alle gleich sein. Wenn man da so etwas wie Byte braucht, muss man auf char ausweichen, was eigentlich kein Zahlentyp ist.
> uint8_t, int16_t
Die sind aber nicht standardisiert.
Die Regel ist für mich simple: Wenn es keinen zwingenden Grund gibt, für eine Ganzzahl nur 8 bit zu benutzen, dann arbeite mit ints! Analoges gilt für short!
Ja, zugegeben, das tun sie. Aber erstens geben sie entweder nur die Anzahl der gelesenen Bytes oder ein gecastetes Byte aus dem Inhalt des Byte-Puffers zurückwas wäre das denn bei Dateien?Stream-read()-Methoden liefern schon jetzt int,
hätte was auch mit int[] zu arbeiten, String.getInts() statt getBytes(), ach ja, Probleme gibts sowieso immer