Also, gemäß dieser Frage gibt es zwei Möglichkeiten, die Größe eines BitSet
zu betrachten.
-
size()
, was veraltet ist und nicht wirklich nützlich. Dem stimme ich zu. Die Größe beträgt64
nach folgender Ausführung:BitSet b = new BitSet(8);
-
length()
, was den Index des höchsten gesetzten Bits zurückgibt. Im obigen Beispiel wirdlength()
0
zurückgeben. Dies ist teilweise nützlich, spiegelt jedoch nicht genau die Anzahl der Bits wider, die dasBitSet
darstellen soll, falls führende Nullen vorhanden sind.
Die Informationen, mit denen ich arbeite, fallen selten (wenn überhaupt) gleichmäßig in 8-Bit-Bytes und die führenden 0
s sind für mich genauso wichtig wie die 1
s. Ich habe einige Datenfelder, die 333 Bits lang sind, einige, die 20 sind usw.
Gibt es einen besseren Weg, um Bit-Level-Details in Java zu behandeln, der führende Nullen berücksichtigt? Andernfalls werde ich sozusagen 'meins' machen müssen. Ich habe bereits einige Ideen, aber ich würde es bevorzugen, das Rad nicht neu zu erfinden, wenn möglich.