我正在使用 Java 中的 BitSet 来存储必须序列化到较低抽象级别或从较低抽象级别反序列化的值。这是为了创建一个文件格式的容器。
目前我想将字符串存储到 BitSet 中:
private BitSet string_to_bit(String content_string) {
BitSet result = new BitSet(this.size);
char[] content_string_arr = new char[content_string.length()];
for (char c : content_string_arr) {
int tmp = (int) c;
result += Integer.toBinaryString(tmp);
}
}
+= 在 BitSet 上未定义,因此此时的代码是错误的。 Afaik 我无法重写 Java 6 中的运算符。您将如何优雅地包装该操作?我不想最终一遍又一遍地重复所有这些低级转换,因为它们似乎在重复。有 .toBit 等效项吗?我可以使用 toString() 将 BitSet 转换为 String。为什么没有去抽象?
最好, 马吕斯
最佳答案
据我所知,没有 .toBit()
等效项。您应该编写自己的实现。
这里有 2 个链接可能对您有帮助:Converting Between a BitSet and a Byte Array
关于Java BitSet - 放置字符/字符串的包装器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4586668/