47 Stimmen

Verwendet man in Java short oder byte?

Abgesehen von der Verwendung von (byte[]) im Streaming sehe ich Byte und Short nicht wirklich oft verwendet. Andererseits habe ich gesehen, dass long verwendet wird, wenn der tatsächliche Wert |100| ist und byte besser geeignet wäre. Ist dies eine Folge der relativ günstigen Natur des Speichers oder ist dies nur eine Kleinigkeit, um die sich die Entwickler nicht kümmern müssen?

5voto

McDowell Punkte 105255

Am häufigsten verwende ich die short y byte Typen bei der Arbeit mit Binärformaten und Dateneingabe / DatenAusgang Instanzen. Wenn die Spezifikation besagt, dass der nächste Wert ein 8-Bit- oder 16-Bit-Wert ist und es keinen Wert hat, sie zu int (vielleicht sind es kleine Fähnchen), sind sie eine naheliegende Wahl.

2voto

Dinah Punkte 50664

Ich habe short bei der Erstellung eines Emulators auf der Grundlage einer 16-Bit-Architektur. Ich erwog die Verwendung von char Ich hätte also auch vorzeichenloses Material verwenden können, aber der Gedanke, einen echten Integer-Typ zu verwenden, siegte am Ende.

bearbeiten: Zu der unvermeidlichen Frage, was ich tat, wenn ich das höchstwertige Bit brauchte: Bei der Sache, die ich emulierte, wurde es fast nie verwendet. In den wenigen Fällen, in denen es verwendet wurde, habe ich einfach bitweise Modifikatoren oder mathematische Hacks verwendet.

1voto

C. Ross Punkte 29783

Ich denke, in den meisten Anwendungen hat short keine Bedeutung für den Bereich, daher ist es sinnvoller, Integer zu verwenden.

1voto

Tom Hawtin - tackline Punkte 142461

short und andere werden häufig zur Speicherung von Bilddaten verwendet. Beachten Sie, dass die Anzahl der Bits wirklich wichtig ist, nicht die arithmetischen Eigenschaften (die nur dazu führen, dass die Beförderung zu int oder besser.

short wird auch als Array-Index in JavaCard verwendet (1.0 und 2.0, IIRC, aber nicht 3.0, das auch einen HTTP-Stack und Webdienste hat).

1voto

Dean J Punkte 37317

Byte[] kommt ständig vor; Puffer, insbesondere für Netzwerke, Dateien, Grafiken, Serialisierung usw.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X