如何在Scala中模拟位字段?位字段用于访问一种类型的某些位(例如C link中的位)。我知道可以使用位运算符进行编写,但是我认为,如果不考虑性能,那是一种更好的方法。
感谢您提供的所有提示。
最佳答案
如果您只想要一位,那么collection.BitSet
将为您工作。
如果您想要一个适当的位域类,那么您会很不走运,原因有两个。首先,因为Scala没有一个。其次,因为即使这样做,由于与对象相比,封闭对象的开销可能会很大,因此节省的空间可能也不会非常可观。
有一些方法可以完成一些工作:一个自定义类,它包装一个整数并允许您将其一部分作为位字段进行操作;但是,当您存储整数时,只需将其另存为原始int。或者,您可以创建一个位域结构数组(任意长度),将其实现为整数数组。但是没有内置的东西。您将不得不自己动手。
关于scala - Scala中的位字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3964478/