Wenn Sie nur einzelne Bits wollen, dann wird collection.BitSet
für Sie arbeiten.
Wenn Sie eine richtige Bitfeldklasse wünschen, haben Sie aus zwei Gründen kein Glück. Erstens, weil Scala keine hat. Zweitens, denn selbst wenn dies der Fall wäre, wäre die Platzeinsparung wahrscheinlich nicht sehr beeindruckend, da der Overhead des umschließenden Objekts im Vergleich zu Ihren Bits wahrscheinlich groß wäre.
Es gibt ein paar Wege aus dieser Arbeit heraus: eine benutzerdefinierte Klasse, die eine Ganzzahl umschließt und Teile davon als Bitfelder bearbeiten kann; Wenn Sie die ganze Zahl speichern, speichern Sie sie einfach als primitiven int. Oder Sie könnten ein Array von Bitfeldstrukturen (beliebiger Länge) erstellen, die als ein Array von ganzen Zahlen implementiert sind. Aber so etwas ist nicht eingebaut; Sie müssen selbst rollen.
Mit meinem derzeitigen Kenntnisstand von Scala Ich weiß nicht, wie zu tun, aber ich denke, dass möglich ist, eine gewisse Struktur von Merkmalen verwenden. Danke für die Antwort :) – adelarsq