英文:
Equivalent of c# BitArray.CopyTo of java BitSet
问题
public byte[] translate(BitSet mask) {
byte[] tmp = new byte[(mask.length() + 7) >>> 3];
for (int i = mask.nextSetBit(0); i >= 0; i = mask.nextSetBit(i + 1)) {
tmp[i >>> 3] |= (byte) (1 << (i & 7));
}
return tmp;
}
英文:
I want to translate the following c# code into java code, but i cannot find the equivalent of copyTo of Java BitSet
public byte [] translate(BitArray mask)
{
byte[] tmp = new byte[(mask.Length + 7) >> 3];
mask.CopyTo(tmp, 0);
return tmp;
}
答案1
得分: 1
在Java中,您甚至不需要编写自己的方法来执行此操作 - 您可以直接调用BitSet#toByteArray
。也就是说,在您的情况下,只需使用mask.toByteArray()
。
英文:
In Java, you wouldn't even need to write your own method to do that - you could just call BitSet#toByteArray
. I.e., in your case, just use mask.toByteArray()
.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论