比较 Java 中的字符、整数和类似类型:使用 equals 还是 ==?

2023-11-25

我想确定一下 Java 中的一些事情: 如果我有一个字符、一个整数或一个长整型以及诸如此类的东西,我应该使用 equals 还是 == 就足够了?

我知道对于字符串,不能保证每个唯一字符串只有一个实例,但我不确定其他装箱类型。

我的直觉是使用 equals,但我想确保我没有浪费性能。


编辑:规范使some拳击转换的保证。从第5.1.7节:

如果装箱的值 p 为真, false,一个字节,范围内的一个字符 \u0000 到 \u007f,或者 int 或短整型 -128 到 127 之间的数字,然后令 r1 和 r2 是任意两个的结果 p的拳击转换。总是 r1 == r2 的情况。

实施情况can请注意,使用更大的游泳池。

I would really不过,请避免编写依赖于此的代码。不是因为它可能会失败,而是因为它并不明显——很少有人会那么了解该规范。 (我之前认为它取决于实现。)

你应该使用equals或比较基础值,即

if (foo.equals(bar))

or

if (foo.intValue() == bar.intValue())

请注意,即使保证自动装箱使用固定值,其他调用者也始终可以创建单独的实例。

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

比较 Java 中的字符、整数和类似类型:使用 equals 还是 ==? 的相关文章

随机推荐

  • pip install-找不到满足要求的版本

    我正在尝试安装一个名为got使用点 但它一直显示 无法找到满足要求的版本 的错误 我在网上搜索了解决方案 有一些解释说尝试 pip freeze gt requirements txt 但它对我来说仍然是一个黑匣子 这里有什么问题以及我应该
  • Google BQ - 如何更新插入表中的现有数据?

    我正在使用 Python 客户端库在 BigQuery 表中加载数据 我需要更新这些表中的一些已更改的行 但我不知道如何正确更新它们 我想要一些类似的UPSERT功能 仅当行不存在时插入行 否则 更新现有行 在表中使用带有校验和的特殊字段
  • 如何从Python中的父文件夹导入函数?

    我需要在我的 python 项目上执行函数的导入 我知道有很多类似的问题 但是 不幸的是 我找不到适合我的解决方案 因为答案要么太具体 要么太笼统 要么它们只是丑陋的黑客 比如操作与绝对路径 我的文件夹结构如下所示 PythonClient
  • 到底是什么导致 Session_Start 被调用?

    在我正在构建的一个小演示应用程序中 我在 Global Session Start 事件中放置了用于初始化数据库的代码 但是 我注意到 当我在开发服务器上的调试器中运行应用程序时 此事件不会触发 尚未在其他地方进行测试 问题一 是什么赋予了
  • 用于存储矩阵的Java大数据结构

    我需要存储一个包含邮政编码以及每个邮政编码之间的距离 以公里为单位 的二维矩阵 我的客户有一个应用程序可以计算距离 然后将其存储在 Excel 文件中 目前有952个名额 所以矩阵将有 952x952 906304 个条目 我尝试将其映射到
  • CORS $.ajax 会话 cookie (access-control-allow-credentials & withCredentials=true)

    我意识到这个问题已经被问了十几次或更多次 给出的每个答复都表明我做得正确 但也许我遗漏了一些东西 AJAX 提供 CORS 请求 就像这样 ajax url someotherdomain com type post data key va
  • 组合谓词

    有什么方法可以组合谓词吗 可以说我有这样的东西 class MatchBeginning public binary function
  • EF4.3.1 中的 MaxLength 属性

    The type System ComponentModel DataAnnotations MaxLengthAttribute exists in both path packages EntityFramework 4 3 1 lib
  • 如何解决路径中的非法字符异常?

    我使用 XML 解析显示来自 URL 的图像 有些图像显示得很好 但有时我会遇到如下异常 索引 113 处的路径中存在非法字符 http www theblacksheeponline com party img thumbspps 123
  • 无法在java中实现A Star

    我一整天都在尝试让这个算法启动并运行 但我一辈子都做不到 我在网上阅读了很多教程 以及 AS3 javascript 和 C 的源代码 但我无法将我所看到的内容适应我自己的代码 我创建了一个 AStar 类 它有一个名为 Node 的嵌套类
  • 如何将命令行参数传递给嵌套脚本?

    注意 这不是将 args 发送到顶级脚本 而是发送到由that script 在我的 package json 中 当我调用直接采用命令行参数的脚本时 它可以工作 但是 当我调用一个调用其他脚本的脚本时 它不会将命令行参数传递给它 我该如何
  • 实例方法的示例? (爪哇)

    我仍在学习 Java 中的方法 并且想知道如何使用实例方法 我在想这样的事情 public void example String random 但是 我不确定这实际上是实例方法还是其他类型的方法 有人可以帮我吗 如果它不是静态方法 那么它
  • 使用 Xcode 5 和 Matlab R2013b 在 OS X 10.9 中编译 mexopencv

    我有兴趣使用Kota Yamaguchi 的 mexopencv 库在我的系统上具有以下规格 OS X 10 9 小牛队 Xcode 5 MATLAB 2013b OpenCV 通过 macports 安装到 opt local inclu
  • 如何准确过滤 RGB 值以实现色度键效果

    我刚刚读过this教程并尝试了这个例子 所以我从网上下载了一个视频来自己测试 我所要做的就是在 if 条件下调整 RGB 值 这是示例中的示例代码 computeFrame function this ctx1 drawImage this
  • Android Facebook 示例应用程序在安装 FB 应用程序后无法登录

    起初我以为这是我的应用程序 但在使用任何 FB 示例应用程序时我遇到了完全相同的问题 以 HelloFacebookSample 为例 它为您提供一个登录按钮 登录后会显示您的照片并允许您发布状态更新 如果我的手机上没有安装 FB 应用程序
  • 将 URL 设置为 SEO 友好标题,使用破折号而不是 ID

    我正在使用 AngularJS 创建一个文章页面 其中包含各个文章详细信息的链接 这些链接基于 ID 以确保它们是唯一的 但我希望 URL 是带有破折号的标题 对 SEO 用户友好得多 而不是 ID 这是 Angular 示例 其中产品详细
  • 如何使用球衣发送 NTLM 验证的帖子请求?

    我正在使用 Java 对 Sharepoint 2013 进行 REST API 调用 如何使用 jersey Rest 客户端连接到 sharepoint 2013 注意 目前我正在使用 apache http 组件和NTCredenti
  • Python 错误代码

    我有一个 python 脚本 它使用 subprocess Popen 运行另一个 python 脚本的多个实例 每个实例都在不同的文件上运行 我收集了 300 个文件 我通过此过程运行这些文件以进行测试 每次运行时 都会有随机数量的文件失
  • Docker 远程 API 过滤器已退出

    我在 Docker Remote API 文档中看到过滤器可用于过滤状态 但我不确定如何形成请求 https docs docker com reference api docker remote api v1 16 list contai
  • 比较 Java 中的字符、整数和类似类型:使用 equals 还是 ==?

    我想确定一下 Java 中的一些事情 如果我有一个字符 一个整数或一个长整型以及诸如此类的东西 我应该使用 equals 还是 就足够了 我知道对于字符串 不能保证每个唯一字符串只有一个实例 但我不确定其他装箱类型 我的直觉是使用 equa