java.util.BitSet -- set() 无法按预期工作

2023-11-21

我是否遗漏了一些非常明显的事情?或者世界上没有人真正使用 java.util.BitSet?

以下测试失败:

@Test
public void testBitSet() throws Exception {
    BitSet b = new BitSet();
    b.set(0, true);
    b.set(1, false);
    assertEquals(2, b.length());
}

我真的不清楚为什么我最终没有得到长度为 2 且值为 10 的 BitSet。我查看了 java.util.BitSet 的源代码,并且在不经意的检查中似乎无法充分区分位和位它被设置为 false,并且从未被设置为任何值......

(请注意,在构造函数中显式设置 BitSet 的大小没有任何效果,例如:

BitSet b = new BitSet(2);

设置的最高位(如“设置为 1”)是位 0。因此长度应为 1。

See the JavaDoc 长度:

公共 int 长度()

返回此 BitSet 的“逻辑大小”:BitSet 中最高设置位的索引加一。如果 BitSet 不包含设置位,则返回零。

也许您正在寻找size尽管有可能higher如果位以特定分辨率分配(例如 16 位边界),那么会超过 2 个吗?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java.util.BitSet -- set() 无法按预期工作 的相关文章

随机推荐

  • 如何链接多个 fetch() 承诺?

    以下代码获取 json 列表 然后对每个列表项执行另一个 fetch 调用以更改其值 问题是它不是同步完成的 new 在 update 之前打印到控制台 fetch API URL DIARY then response gt respon
  • IBM 到 IEEE 浮点转换

    java中是否有任何标准方法可以将IBM 370 以字节形式 转换为IEEE格式 任何转换算法都会有所帮助 我尝试编写java代码 但我不明白我哪里出错了 当我将输入指定为 2 000000000000000E 02 时 我得到的值为 IE
  • yocto 的 Linux 功能

    我想为几个文件提供 Linux 功能 例如 CAP NET ADMIN 我正在使用 Yocto 我的文件系统应该是只读的 并且在刷新软件后不得更改 这意味着通常可以使用 setcap 的 pkg postinst 是不可能的 有没有其他方法
  • gcc中划分的优化

    这是一些代码 完整的程序在问题后面 template
  • 迭代 .next() 时出现 Java“ConcurrentModificationException”运行时错误 [重复]

    这个问题在这里已经有答案了 根据运行时错误信息 异常发生在以下行 VirusData v iteratorVirusDB next VirusData是一个具有构造函数和重载构造函数的类 其中包含有关数据库中每种病毒的特定信息 例如 字符串
  • 防止颤动文本表单字段验证消息省略

    在颤动表单验证中 如果错误消息溢出屏幕尺寸 它将省略 但是 我想完全显示错误消息 如果消息溢出屏幕尺寸 它将继续到下一行 这是 flutter 官方文档中编写的示例代码 import package flutter material dar
  • React-Router:嵌套路由和父级重新渲染

    我正在使用react router v4 并且在嵌套路由方面遇到了一些问题 我的父路由是一个产品详细信息页面 它使用 componentDidMount 中的 AJAX 请求来设置产品数据 但是 当我单击链接来呈现嵌套在详细信息页面中的路由
  • 从右到左解析表达式

    我正在构建一个表达式解析器 这是我的语法规则 expr term expr expr null term expo term term null expo factor expo null factor expr int 以及相应的代码 e
  • 如何列出 Informix 中的所有存储过程?

    我正在寻找一种方法来列出在 Informix 上运行的数据库中的所有存储过程 里面有桌子吗 informix 列出存储过程及其详细信息的数据库 就在这里 它被称为sysprocedures 尝试这个来查看所有可看的内容 select fro
  • 如何从 Date 对象设置 Android Chronometer 基准时间?

    我在从特定时间开始计时时遇到问题 我希望我的计时器从一个 Date 对象开始 Date d new Date now just for example chronometer setBase d getTime long value of
  • Android / Google Plus - 无法共享来自我的内容提供商的图像

    我用过这段代码并且可以成功地将图像 来自我手机的图库 与文本从我的 Android 应用程序共享到 google 但是 当我尝试从应用程序的内容提供商发布图像时 该图像显示在我的 google 页面上 如下所示 尽管预期的图像在 googl
  • 强制垃圾收集

    有没有办法在 VBA Excel 2000 中强制进行垃圾回收 本题涉及Excel中的宏语言 不使用 VB NET 操作 Excel 所以 GC collect 不起作用 使用直接 VBA 时 无法利用 NET Framework 提供的垃
  • 如果将 Lambda 作为 Predicate 接口中的方法组合编写为一条语句,则无法编译

    这两种 lambda 创建方式有什么区别 为什么第一个不能编译 Predicate
  • 如何使用 OpenGL、SDL 和 C++ 绘制文本? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我听说过 SDL TFF 我读过here但我不明白我应该如何连接 TrueType2 库 也许那里有更好的东西 None
  • 删除具有子目录的目录(非空)

    如何删除其中包含非空子目录的目录 谢谢你的回答 但现在当我在运行时删除任何目录时 它会将我带到登录页面 你可以使用目录 删除方法传递true作为第二个参数 Directory Delete c somedirectory true
  • 通过 Youtube 通过 api 设置为“私有”(锁定)上传

    I have been using the youtube API to upload remotely But after a while of messing around with the code all the videos th
  • 在 Fragment 中调用 findViewById 查找按钮返回 null

    我是 Android 开发新手 我正在尝试编写一个小而简单的应用程序 该应用程序应该只从 2 个 EditText 读取文本 并且当用户按下 发送 按钮时 它应该将文本写入 2 个 TextView 这些 TextView 中的每一个都位于
  • iPhone - 偏航、俯仰和滚动的核心运动范围

    我现在没有 iPhone 4 我正在尝试找到一个文档来显示偏航 俯仰和滚动的范围以及设备的相应位置 我知道加速度计的变化范围是 1 到 1 但昨天在我的 iPhone 上进行的测试显示 横滚的变化范围是 M PI 到 M PI 但偏航和俯仰
  • 测试自定义验证 angularjs 指令

    此自定义验证指令是官方 Angular 站点上提供的示例 http docs angularjs org guide forms它检查文本输入是否采用数字格式 var INTEGER REGEXP d app directive integ
  • java.util.BitSet -- set() 无法按预期工作

    我是否遗漏了一些非常明显的事情 或者世界上没有人真正使用 java util BitSet 以下测试失败 Test public void testBitSet throws Exception BitSet b new BitSet b