首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >布尔向量的BitSet表示

布尔向量的BitSet表示
EN

Stack Overflow用户
提问于 2019-02-13 08:15:42
回答 1查看 87关注 0票数 1

我创建一个长度为3的BitSet,清除前两个位置并设置最后一个位置。我的BitSet的调试输出应该类似于{0,0,1}。但实际上是{2}。

使用支持Testcase的JUnit 4.11实现完整的mvn项目。

代码语言:javascript
复制
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);

}
}    

-输出:

代码语言:javascript
复制
-------------------------------------------------------
 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?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-13 08:28:34

toString()实现的BitSet返回所有索引的十进制表示,其中位设置为,而不是集合的二进制表示,因此您的输出。

正如@Arnaud在评论中指出的那样,请参见正式的java文档

什么是值为"2“的布尔BitSet?

正如您在代码中所做的那样,它是一个只设置了索引2的位的BitSet

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54665402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档