布尔向量的 BitSet 表示
BitSet representation of a boolean vector
我创建了一个长度为 3 的 BitSet 并清除了前两个位置并设置了最后一个。我的 BitSet 调试输出预计类似于 {0, 0, 1}。但实际上是{2}.
使用支持测试用例的 JUnit 4.11 实现了完整的 mvn 项目。
package org.no_ip.leder.test;
import static org.junit.Assert.assertEquals;
import org.junit.BeforeClass;
import org.junit.Test;
import java.util.BitSet;
public class TestCase1 {
@BeforeClass
public static void setUpClass() {
System.out.println("TestCase1 setup");
}
@Test
public void test1() {
BitSet ex_result = new BitSet(3);
BitSet test = new BitSet(3);
App app = new App();
test = app.createFromString("100");
ex_result.clear(0);
ex_result.clear(1);
ex_result.set(2);
//DEBUG:
System.out.println(ex_result);
System.out.println(test);
assertEquals("app.createFromString(\"100\"): ", ex_result, test);
}
}
------------------------输出:
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running org.no_ip.leder.test.TestSuite1
TestCase1 setup
{2}
{2}
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.231 sec
值“2”代表什么布尔位集?
BitSet
toString()
实现 returns 设置位的所有索引的十进制表示 ,而不是 二进制 集合的表示形式,因此是您的输出。
请参阅@Arnaud 在评论中指出的 the official java docs。
What is a Boolean BitSet representing with value of "2"?
正是您在代码中所做的,它是一个 BitSet
,其中仅设置了索引为 2 的位。
我创建了一个长度为 3 的 BitSet 并清除了前两个位置并设置了最后一个。我的 BitSet 调试输出预计类似于 {0, 0, 1}。但实际上是{2}.
使用支持测试用例的 JUnit 4.11 实现了完整的 mvn 项目。
package org.no_ip.leder.test;
import static org.junit.Assert.assertEquals;
import org.junit.BeforeClass;
import org.junit.Test;
import java.util.BitSet;
public class TestCase1 {
@BeforeClass
public static void setUpClass() {
System.out.println("TestCase1 setup");
}
@Test
public void test1() {
BitSet ex_result = new BitSet(3);
BitSet test = new BitSet(3);
App app = new App();
test = app.createFromString("100");
ex_result.clear(0);
ex_result.clear(1);
ex_result.set(2);
//DEBUG:
System.out.println(ex_result);
System.out.println(test);
assertEquals("app.createFromString(\"100\"): ", ex_result, test);
}
}
------------------------输出:
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running org.no_ip.leder.test.TestSuite1
TestCase1 setup
{2}
{2}
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.231 sec
值“2”代表什么布尔位集?
BitSet
toString()
实现 returns 设置位的所有索引的十进制表示 ,而不是 二进制 集合的表示形式,因此是您的输出。
请参阅@Arnaud 在评论中指出的 the official java docs。
What is a Boolean BitSet representing with value of "2"?
正是您在代码中所做的,它是一个 BitSet
,其中仅设置了索引为 2 的位。