CharBuffer equals() 方法到底是如何工作的?

2024-06-10

我无法理解具体细节CharBuffer equals()方法发挥作用。

我不明白这个“独立于他们的起始位置考虑”这句话:

两个字符缓冲区相等当且仅当,

它们具有相同的元素类型,

它们具有相同数量的剩余元素,并且

The 剩余元素的两个序列,独立考虑 他们的起始位置, 逐点相等。

我研究了这些很好的例子 -更多例子 https://www.geeksforgeeks.org/charbuffer-equals-method-in-java/,但我不明白这个想法。

任何人都可以用不同的语言和最少的有洞察力的示例代码来解释吗?

我特别觉得这很奇怪:

CharBuffer cb1 = CharBuffer.allocate(10);
cb1.put('a');
cb1.put('b');
//cb1.rewind();
System.out.println(cb1);


CharBuffer cb2 = CharBuffer.allocate(10);
cb2.put(4,'a');
cb2.put(5,'b');
//cb2.rewind();
System.out.println(cb2);

// false, uncommenting rewind() - also false
// but shall be true - "considered independently of starting positions" ?
System.out.println(cb1.equals(cb2));  

的两个序列剩余元素, 独立考虑其起始位置, are 逐点相等.

  1. 只看剩下的元素,
  2. 不考虑他们从哪里开始,
  3. 一个缓冲区的每个元素必须等于对应元素在另一个缓冲区中。

在你的例子中,它是逐点相等重要的部分:

      0 1 2 3 4 5 6 7 8 9
cb1 = a b 0 0 0 0 0 0 0 0
cb1 = 0 0 0 0 a b 0 0 0 0

正如您所看到的,当逐点比较 char 缓冲区的元素时,它们不匹配。

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

CharBuffer equals() 方法到底是如何工作的? 的相关文章

  • Java 字符串哈希码缓存

    字符串不变性的优点之一是哈希码缓存以实现更快的访问 在这种情况下 如何处理具有相同哈希码的字符串的缓存 在这种情况下它真的能提高性能吗 在这种情况下 如何处理具有相同哈希码的字符串的缓存 被缓存的是字符串的哈希码 它被缓存在私有的int字符
  • Java中RandomAccessFile的并发

    我正在创建一个RandomAccessFile对象通过多个线程写入文件 在 SSD 上 每个线程都尝试在文件中的特定位置写入直接字节缓冲区 并且我确保线程写入的位置不会与另一个线程重叠 file getChannel write buffe
  • 检查发送到网页的请求数

    我正在编写一个 Java 多线程应用程序 它可以访问不同 Web 服务器的数百万个 有时甚至数十亿个 URL 这个想法是检查这些 URL 是否给出有效的 200OK 响应或 404 其他代码 我如何知道我的程序是否不会在他们的服务器上造成高
  • 通过 html tidy 提供渲染 jsp 页面

    我有一个在 Glassfish 上运行的 Java 项目 它会呈现一些难看的 HTML 这是使用各种内部和外部 JSP 库的副作用 我想设置某种渲染后过滤器 通过 HTMLTidy 提供最终的 HTML 这样源代码就很好且整洁 有助于调试
  • ResultSet:通过索引检索列值与通过标签检索

    使用 JDBC 时 我经常遇到这样的结构 ResultSet rs ps executeQuery while rs next int id rs getInt 1 Some other actions 我问自己 以及代码作者 为什么不使用
  • 如何为java注释处理器编写自动化单元测试?

    我正在尝试使用 java 注释处理器 我可以使用 JavaCompiler 编写集成测试 事实上我现在正在使用 hickory 我可以运行编译过程并分析输出 问题 即使我的注释处理器中没有任何代码 单个测试也会运行大约半秒 对于以 TDD
  • 全静态方法和应用单例模式有什么区别?

    我正在创建一个数据库来存储有关我的网站用户的信息 我正在使用 stuts2 因此使用 Java EE 技术 对于数据库 我将创建一个 DBManager 我应该在这里应用单例模式还是将其所有方法设为静态 我将使用这个 DBManager 进
  • 强制 Java 最低版本以“java -version:”运行在 Windows 上不起作用

    我想强制应用程序运行的 JVM 最低版本为 1 6 或更高版本 即 1 6 我的理解是 您可以使用 version 命令行参数来执行此操作 我尝试了一下 在Linux下似乎可以正常工作 但在Windows下却不行 LINUX 我在 Linu
  • 如何在Java中打印保留2位小数的浮点数?

    我可以用System out print 您可以使用printf http java sun com j2se 1 5 0 docs api java io PrintStream html printf 28java lang Strin
  • org.apache.commons.codec.digest.Md5Crypt.md5Crypt 函数。 linux下出现异常,windows下正常

    我们正在使用commons codec加密密码 使用org apache commons codec digest Md5Crypt md5Crypt功能 在Windows环境下工作正常 但在CentOS上却抛出异常 我们有3台centOS
  • 为什么我要使用责任链而不是 switch 语句

    考虑一下您已经获得了多次验证 仅当要检查的对象属于某种类型时 这些验证才应生效 为什么我要使用责任链而不是 switch 语句 责任链示例 public class Executor Inject private ValidatorFact
  • Servlet 调度程序当前不可用

  • 使用 JNI 从 Java 代码中检索 String 值的内存泄漏

    我使用 GetStringUTFChars 从使用 JNI 的 java 代码中检索字符串的值 并使用 ReleaseStringUTFChars 释放该字符串 当代码在 JRE 1 4 上运行时 不会出现内存泄漏 但如果相同的代码在 JR
  • 使用 Box2d(适用于 Android)进行碰撞检测?

    有人可以解释一下使用 box2d for android 进行碰撞检测的工作原理吗 我无法理解 BBContactListener 以什么方式工作 BBContactListener listener new BBContactListen
  • Elasticsearch - EdgeNgram + 突出显示 + term_vector = 不好的突出显示

    当我使用带有edgengram min 3 max 7 front term vector with positions offsets的分析器时 文档包含文本 CouchDB 当我搜索 couc 时 我的亮点是 cpu 而不是 couc
  • 获取包中声明的所有 Java 类的名称

    我正在编写一个功能 它将有助于将类放入我的程序的某个包中 另外 我只想要子类某个类的类 我需要这些类才能调用它们的静态方法 有没有一种自动的方法来做到这一点 如果是的话 速度慢吗 如果我不清楚 我想要的是这样的 ArrayList
  • 如何在Java中模拟引用传递?

    我是一个十足的 Java 菜鸟 我知道 Java 将所有参数视为按值传递 并且还有其他几个线程人们对此进行了解释 例如 在 C 中我可以这样做 void makeAThree int n n 3 int main int myInt 4 m
  • Struts2中的变量声明

    Struts2中如何声明变量并为该变量赋值 使用设置标签
  • 如何列出Resources文件夹中的所有文件(java/scala)

    我正在编写一个函数 需要访问资源中的文件夹 并循环遍历所有文件名 如果这些文件符合条件 则加载这些文件 new File getClass getResource images sprites getPath listFiles 返回空指针
  • Java 可变 BigInteger 类

    我正在使用 BigIntegers 进行计算 该计算使用一个调用 multiply 大约 1000 亿次的循环 并且从 BigInteger 创建新对象使其非常慢 我希望有人编写或找到了 MutableBigInteger 类 我在 jav

随机推荐

  • 如何在 Java 中测试 JSON Collection 对象是否为空

    我收到的 JSON Collection 对象如下所示 foo1 bar1 foo2 bar2 problemkey problemvalue 我想要测试的是是否存在problemvalue If problemvalue返回一个 JSON
  • 使用 R 时 Bash 中的颜色语法突出显示

    我在 Ubuntu 下的 Bash 中运行 R 有没有办法在运行 R 时在 Bash 中使用颜色语法突出显示 我非常感谢有关该主题的任何信息 并希望这个问题不会令人烦恼地无知 您可以尝试colorout包裹
  • 使用用户身份验证的 SQL 数据库与 Active Directory 的连接字符串

    我正在连接到 Azure 服务器上的数据库 其中数据库位于不同的服务器上 并且通过选择选项 Active Directory 和用户凭据选项建立连接 它在 SQL Server 中工作 但我需要一个连接字符串来连接数据库 有什么建议如何去做
  • 如何控制 Orchard 中菜单的呈现

    我有以下问题 我正在果园制作一个网站 并且必须应用一些设计公司制作的设计 他们提供了 html 和 CSS LESS 我必须把它变成一个主题 除了菜单之外 大部分内容我都完成了 我想申请一个课程nav标签在下面的代码中 但我无法为最终渲染它
  • C语言中如何连接字符串? [复制]

    这个问题在这里已经有答案了 可能的重复 C语言中如何连接2个字符串 https stackoverflow com questions 8465006 how to concatenate 2 strings in c include
  • Java Toolkit 获取第二个屏幕尺寸

    我的计算机上插入了两个屏幕 想知道 JFrame 或 Toolkit 中是否有方法可以检测窗口位于哪个屏幕上 我有这个代码 java awt Toolkit getDefaultToolkit getScreenSize 它获取主屏幕的屏幕
  • Ember-数据引导模型对象

    当使用非远程 AJAX 调用的现有 JSON 引导 Ember 数据模型对象时 我是否必须进行以下 2 个调用 App store load App Account data var account App store find App A
  • 带有流星的网站图标?

    我正在尝试将网站图标加载到我的 Meteor 项目中 但无法让它工作 我尝试使用this https stackoverflow com questions 20054788 how to load a favicon with meteo
  • Android 在 Sqlite 中按 Id 选择行?

    我想在android sqlite中按id获取特定行并编写了以下代码 但它不返回任何记录 我写了一个getAllRecords 方法返回数据库中的所有记录 谁能解释我犯的错误 public Bank getBankById int bank
  • 计算 Adamic-Adar 的快速算法

    我正在研究图形分析 我想计算一个 N N 相似度矩阵 其中包含每两个顶点之间的 Adamic Adar 相似度 为了概述 Adamic Adar 让我从以下介绍开始 给定邻接矩阵A无向图的G CN是两个顶点的所有公共邻居的集合x y 两个顶
  • 从 jar 中为实体创建 (querydsl) 元模型

    我在为来自项目依赖项中包含的 jar 的实体生成 querydsl 元模型 即 Q 类 时遇到问题 该类 BaseEntity 是我的大多数实体 用 MappedSuperclass 注释 的抽象基类 并且由于项目原因以及对其他项目的依赖关
  • 更新清单 XML 后强制 Excel 刷新命令功能区(对于 Office 加载项)

    我正在使用 office js 和位于共享驱动器上的 XML 清单来侧载 Office 加载项 加载加载项后 这会添加一个新的功能区 其中包含一些自定义命令图标 然而 编辑manifest XML文件后 假设我从功能区注释掉命令图标 我还没
  • Rails before_action for ActionMailer 将使用邮件程序参数

    假设我有一个发送不同电子邮件的邮件程序 但预计会使用相同的参数进行调用 我想为所有邮件程序操作处理这些参数 所以 调用一个before action这将读取发送到邮件程序方法的参数 mailers my mailer rb class My
  • Angular 6+ 应用程序的运行时配置

    在 Angular 应用程序运行时加载环境特定配置的推荐最佳实践是什么 Angular 文档提到了 APP INITIALIZER 的使用 但对于使用 forRoot 约定的导入模块的运行时配置等加载过程来说 这仍然还不够早 在我的用例中
  • 是否可以在 Mac OS X 10.7.4 上并行安装 Xcode 4.3 和 Xcode 4.5?

    是否可以在 Mac OS X 10 7 4 上并行安装 Xcode 4 3 和 Xcode 4 5 我想安装预览版 但希望在继续之前进行一些确认 The 发行说明 http adcdownload apple com Developer T
  • Heroku 上的服务器请求中断 (H18)

    Heroku 支持不是很有帮助 除了 添加更多日志会有所帮助 之类的提示 所以让我在这里尝试一下 我们正在遇到很多503最近 重现非常容易503 using curl curl limit rate 100 s X POST https o
  • 您的开发团队不支持推送通知功能

    显示所有消息 您的开发团队 ACCOUNT NAME 不支持推送 通知功能 有两种可能性 如果您的 Apple 帐户未注册开发者计划 请让您的 Apple 帐户注册 Apple 开发者计划 如果您的帐户注册为组织 您可能会使用个人帐户作为
  • Delphi线程死锁

    我有时会在销毁某些线程时遇到死锁问题 我尝试过调试该问题 但在 IDE 中调试时似乎从未存在死锁 可能是因为 IDE 中的事件速度较低 问题 当应用程序启动时 主线程会创建多个线程 线程始终处于活动状态并与主线程同步 完全没有问题 当应用程
  • 如何将单元素元组转换为字符串?

    我有这个代码 import nltk import pypyodbc text raw input token nltk word tokenize text return a list value def search self list
  • CharBuffer equals() 方法到底是如何工作的?

    我无法理解具体细节CharBuffer equals 方法发挥作用 我不明白这个 独立于他们的起始位置考虑 这句话 两个字符缓冲区相等当且仅当 它们具有相同的元素类型 它们具有相同数量的剩余元素 并且 The 剩余元素的两个序列 独立考虑