我创建一个长度为3的BitSet,清除前两个位置并设置最后一个位置。我的BitSet的调试输出应该类似于{0,0,1}。但实际上是{2}。
使用支持Testcase的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?
发布于 2019-02-13 08:28:34
toString()实现的BitSet返回所有索引的十进制表示,其中位设置为,而不是集合的二进制表示,因此您的输出。
正如@Arnaud在评论中指出的那样,请参见正式的java文档。
什么是值为"2“的布尔BitSet?
正如您在代码中所做的那样,它是一个只设置了索引2的位的BitSet。
https://stackoverflow.com/questions/54665402
复制相似问题