在 Java 中什么时候适合使用引用相等与对象相等?

2024-01-09

我了解这两个术语之间的区别,以及如果您想检查两个对象是否具有引用或相同的值,您将使用什么方法。我的问题是,什么时候你必须检查两个对象是否具有相同的引用,而不是检查两个对象是否具有相同的内容或值(从来没有一次我必须检查两个对象是否具有相同的引用)参考)?


这并不是真正“代替”相等性检查,但出于性能和空安全原因,您可以在进行相等性检查之前进行引用检查。

实际上,这就是当您调用时会发生的情况Objects.equals(a,b) http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/7-b147/java/util/Objects.java#55代替a.equals(b).

public static boolean equals(Object a, Object b) {
     return (a == b) || (a != null && a.equals(b));
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Java 中什么时候适合使用引用相等与对象相等? 的相关文章

  • 在 Eclipse 中隐藏重复的工具栏项

    我不知道如何 但我的 STS 有重复的工具栏项目 我不知道如何删除它们 这是我复制的工具栏的样子 我想摆脱这些 我试图隐藏工具栏 但这没有帮助 有人知道如何删除重复的吗 自从升级到 Oxygen 以来 我一直遇到同样的问题 我无法可靠地重现
  • ListView:防止视图回收

    我有一个使用回收视图的 ListView 我试图阻止视图被回收 所以我使用 setHasTransientState android support v4 view ViewCompatJB setHasTransientState Vie
  • 使用 Eclipse 将具有外部依赖项的 Java 项目导出到 jar

    有没有一种简单的方法可以将 Java 项目 包括其所有外部依赖项 导出到标准 jar 文件 我开发了一个使用多个 Apache 库的 SDK 我希望能够将该项目作为单个 jar 发布 到目前为止我找到的这个问题的答案要求将项目打包为 Run
  • Android CursorAdapter、ListView 和后台线程

    我一直在开发的这个应用程序有包含数兆字节数据的数据库可供筛选 许多活动只是列表视图 通过数据库中的各个级别的数据下降 直到到达 文档 即从数据库中提取并显示在手机上的 HTML 我遇到的问题是 其中一些活动需要能够通过捕获击键并重新运行带有
  • Spring @Validated 在服务层

    Hej 我想使用 Validated group Foo class 在执行方法之前验证参数的注释 如下所示 public void doFoo Foo Validated groups Foo class foo 当我将此方法放入 Spr
  • Java:无安全管理器:RMI 类加载器已禁用

    您好 我有 RMI 应用程序 现在我尝试从客户端调用服务器上的一些方法 我有以下代码 public static void main final String args try Setting the security manager Sy
  • 如果主引用指向 null,WeakReference 或 SoftReference 有何不同

    我正在读关于WeakReference https docs oracle com javase 10 docs api java lang ref WeakReference html and SoftReference https do
  • 我应该使用 JDBC getNString() 而不是 getString() 吗?

    我们正在构建一个由 Oracle 数据库支持的 Java 应用程序 我们使用 JDBC 驱动程序 访问该数据库ojdbc6 jar and orai18n jar 数据库模式主要使用以下方式存储文本列NVARCHAR2数据类型 The JD
  • 为什么Java中的文件名与公共类名相同? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在Java中 文件名应该与文件名相同public class包含在该文件中 为什么这是一个限制 它有什么目的 Java 有一个有趣的方法 如果给
  • Java - toString 到 Color

    我一整天都在努力解决这个问题 基本上我做了一个 for 循环 将条目添加到数组列表中 其中一项是 颜色 变量 我已经用过random nextInt为颜色构造函数的红色 绿色和蓝色部分创建新值 我还设置了一个toString方法 这样我就可
  • 外部实体更改后索引不更新

    我目前正在开发一个项目 使用 JPA 2 1 保存数据并使用 hibernate search 4 5 0 final 搜索实体 映射类和索引后 搜索工作正常 但是 当我更改值时描述B 类从 someStr 到 anotherStr 数据库
  • 如何修复maven错误JAVA_HOME环境变量未正确定义

    当我在虚拟环境中检查maven的版本时 出现以下错误 The JAVA HOME environment variable is not defined correctly This environment variable is need
  • 如何从 Java 中“double”类型的值中删除小数值

    我正在调用一个名为 calculateStampDuty 的方法 它将返回 财产需缴纳的印花税金额 百分比计算有效 很好 并返回正确的值 15000 0 但是 我想显示该值 前端用户只是 15000 所以只想删除小数点和任何前面的值 此后
  • 如何构建和使用 TimeSeriesCollections

    我想在图表的 X 轴上显示一些日期 并且here https stackoverflow com questions 5118684 jfreechart histogram with dates据说我必须使用 TimeSeriesColl
  • 默认情况下,JSF 生成不可用的 ID,这些 ID 与 Web 标准的 CSS 部分不兼容

    活跃的 JSF 或 Primefaces 用户能否解释一下为什么默认情况下会发生这种情况 为什么没有人对此采取任何措施
  • 如何从 Trie 中检索给定长度的随机单词

    我有一个简单的 Trie 用来存储大约 80k 长度为 2 15 的单词 它非常适合检查字符串是否是单词 但是 现在我需要一种获取给定长度的随机单词的方法 换句话说 我需要 getRandomWord 5 来返回 5 个字母的单词 所有 5
  • Java 常量枚举[重复]

    这个问题在这里已经有答案了 可能的重复 理解 Java 中的枚举 https stackoverflow com questions 1419835 understanding enums in java 为什么我们应该使用枚举而不是 Ja
  • 如何加载图像文件到ImageView?

    我试图在从文件选择器中选择图像文件后立即显示该图像文件 文件选择器仅限于 png 和 jpg 文件 所选文件存储在文件类型的变量中 为此 我设置了一个 ImageView 我希望用这个新文件设置图像 唯一的问题是它的类型是文件而不是图像 如
  • 从特定 JAR 文件读取资源(文件的重复路径)

    假设您有 jar1 和artifactId 动物园 jar2 和artifactId 动物 两个 jar 都有一个具有相同路径的资源文件 例如 animals animal txt 有什么方法可以从特定的 jar 中读取该文件吗 使用 ge
  • 如何在 Java 中创建一个带有连字符的值的静态枚举?

    如何创建如下所示的静态枚举 static enum Test employee id employeeCode 截至目前 我遇到了错误 这对于 Java 来说是不可能的 因为每个项目都必须是有效的标识符 并且有效的 Java 标识符可能不包

随机推荐

  • 自动将 jupyter 笔记本转换为 .py

    我知道对此有一些疑问 但我还没有发现任何足够可靠的内容 目前我正在从终端使用一个创建 py 的命令 然后将它们移动到另一个文件夹 jupyter nbconvert to script folder notebooks notebook i
  • “图像视图”的位置和大小不明确

    我试图设置 UIImageView 在故事板中没有固定的大小和宽度 我将容器的前导空间设置为大于或等于 20 将容器的顶部空间设置为大于或等于 20 将容器的尾随空间设置为大于或等于 20 并将 UICollectionView 的垂直间距
  • 将用户/密码添加到 SOAPHeader 以使用 AXIS2 进行 WebService 客户端调用

    请帮助 我正在尝试从 SOAPUI 调用 WebService 我注意到该服务需要我通过请求参数提供的用户名和密码 我注意到原始 XML 包含添加到 SOAPHeader 中的用户 密码片段 片段如下
  • div 可以有多个类吗(Twitter Bootstrap)[重复]

    这个问题在这里已经有答案了 一个div标签可以有两个类吗 我正在使用 twitter bootstrap 并且我想使用两个预定义的类 一个是一个active我想在一个类上使用dropdown toggle在导航栏中 在 html 中解决这个
  • ASP.Net 会话超时:为什么默认使用 20 分钟?

    在 ASP Net 中 默认会话超时设置为 20 分钟 为什么这样 这背后有什么具体原因吗 不应将其设置为高于 20 分钟 特殊情况除外 因为每个打开的会话都会占用内存 From MSDN 站点上的 Session Timeout http
  • 我可以控制 RealityKit 中的 Reality Composer 行为吗?

    我想使用 SwiftUI 制作一个按钮 当按下按钮时 模型将隐藏 我已经阅读了此链接中的教程 创建触发器 https developer apple com documentation realitykit creating a trigg
  • OpenGLES 中的屏幕到世界坐标转换是一项简单的任务吗?

    iPhone 上的屏幕与世界问题e 我有一个在 EAGLView 中渲染的 3D 模型 CUBE 我希望能够检测到何时触摸立方体的给定面 从任何方向角度 的中心 听起来很容易 但事实并非如此 问题 如何准确地将屏幕坐标 触摸点 与世界坐标
  • JAVAFX / WebView / WebEngine FireBugLite 或其他一些调试器?

    我正在开发一个应用程序 需要在应用程序的 WebView WebEngine 部分运行调试器 以便我可以更好地调试我的应用程序 但我在互联网上找到的注入 Firebug Lite 的代码由于某种原因无法正常工作 如果我在 Firefox 控
  • 处理来自 IOS 设备的请求时发生异常

    我正在尝试在 iOS 设备上播放视频 当我尝试玩时出现以下错误 27 Apr 2015 06 59 30 GET media 2015 04 VID 20150327 112644 mp4 HTTP 1 1 200 18 Exception
  • 未在 Blazor 服务器端应用程序中创建本地化 Cookie

    我设置了本地化Startup cs services AddLocalization options gt options ResourcesPath Resources and var supportedCultures new en U
  • 将代码从 RestSharp 转换为 HttpClient

    有人可以帮我将这个使用 RestSharp 的 ASP Net Core 示例 在我的 Web Api 中使用以使用来自 Auth0 的管理 API 转换为使用 HttpClient 的示例吗 var client new RestClie
  • 如何在Python中运行并行程序

    我有一个 python 脚本来使用 os subprocess 模块运行一些外部命令 但其中一个步骤需要花费大量时间 因此我想单独运行它 我需要启动它们 检查它们是否完成 然后执行下一个不并行的命令 我的代码是这样的 nproc 24 fo
  • 使用 PHP 保护文档

    我有一个简单的登录 访问控制系统来保护一些受限制的页面 但在这些页面内有一些需要保护的链接 即Word文档 因此 如果我将这些资源保留在 webroot 中 它们就可以通过 URL 访问 保护受限制页面内的这些资源的最佳方法是什么 我知道我
  • Activity.java 中的多个选定项 RecyclerView

    我有一个RecyclerView来自本地的数据JSON in CardView 当单击一个或某个项目时 更改所选项目的背景或突出显示 例如在 Line App 中编辑 但没有 Button 或 我需要在选定的项目上实现longpress 但
  • Aptana 配置:配置的解释器在文件系统中不存在

    标题里说的差不多了 我已经更新到最新版本了Aptana 在 Windows 上 现在我的解释器无法工作 我已经重新创建了PYTHONPATH变量 删除并重新配置python解释器Aptana 在我的项目中删除并重新创建它 仍然不起作用 它给
  • 有人知道为什么 lintr 将我的 jupyter r 内核的第一个字符串标记为红色吗?

    我刚刚在 vscode 中设置了 R 来与 Jupyter 笔记本一起使用 但它用红色标记了我的内核的第一个字符串 我收到的消息是 Failed to run diagnostics error in callr subprocess Ca
  • Openshift 将 wp-admin 重定向到 https

    在 WordPress 的常规选项中 我已将 WordPress 目录更改为 onhttp mywebsite com但 WordPress 仪表板仍处于 HTTPPS 中 导致混合内容警告 即使在 Firefox 上禁用混合内容过滤器后
  • Rails 单元测试是否应该访问数据库?

    我一直在为我的 Rails 应用程序编写测试 我使用 TestUnit 进行单元测试和功能测试 我也使用 Cucumber 进行 GUI 测试 但我发现http www dcmanges com blog rails unit record
  • 如何通过 Flutter web 直接发送电子邮件

    我正在构建一个 flutter web 我必须通过电子邮件将表单数据发送到我的 Gmail 电子邮件地址 我该怎么办 请帮我 我有用户 mailer 3 0 4 和 flutter email sender 2 2 2 但他们都没有工作 这
  • 在 Java 中什么时候适合使用引用相等与对象相等?

    我了解这两个术语之间的区别 以及如果您想检查两个对象是否具有引用或相同的值 您将使用什么方法 我的问题是 什么时候你必须检查两个对象是否具有相同的引用 而不是检查两个对象是否具有相同的内容或值 从来没有一次我必须检查两个对象是否具有相同的引