为什么字符串不比较引用?

2023-11-26

我知道这是特殊情况,但为什么字符串之间的 == 在它们的值相等时返回,而不是在它们的引用相等时返回。这与重载运算符有关系吗?


The ==运算符重载于String事实上,执行值相等而不是引用相等。这个想法是让字符串对程序员更加友好,并避免使用引用相等来比较它们时出现的错误(在 Java 中并不少见,尤其是对于初学者)。

老实说,到目前为止,我从来不需要通过引用来比较字符串。如果您需要这样做,您可以使用object.ReferenceEquals().

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

为什么字符串不比较引用? 的相关文章

随机推荐

  • 在 python 正则表达式中匹配 unicode 表情符号

    我需要提取文本中数字和表情符号之间的文本 示例文本 blah xzuyguhbc ibcbb bqw 2 extract1 jbjhcb 6 extract2 bjvcvvv output extract1 extract2 我编写的正则表
  • 在 Flutter 中使用 Firebase 身份验证检查用户是否是新用户

    根据底部这一页 AdditionalUserInfo提供了一个方法叫做isNewUser 例如 检查社交登录 Facebook Google 等 是否是登录或注册 给出了一个例子这个答案 Flutter 的问题是我找不到任何名为Additi
  • 并行运行一组 TaskEithers,但如果 1 个或多个任务失败则继续

    我必须并行进行一组 IO 调用 如果成功则合并调用的内 容 如果其中一个失败 其他的将按正常方式处理 但会出现一条错误消息 我对如何实现这一点的思考过程 Array
  • For-In 循环多个条件

    随着 Xcode 7 3 的新更新 出现了很多与新版本 Swift 3 相关的问题 其中一个问题是 C 风格的 for 语句已被弃用 将在未来版本的 Swift 中删除 这出现在传统的 Swift 版本中 for声明 其中一个循环有多个条件
  • 更改导航后退按钮的目的地

    如何更改默认导航后退按钮将我带到的视图控制器 后退按钮通常会将您带回到上一个视图控制器 但是如果我想让它通过两个视图控制器返回怎么办 我的意思是我想更改后退按钮将我带到的视图控制器 我不喜欢创建自定义后退按钮 那么还有其他办法吗 可能是与后
  • 不同方法名的接口实现

    我有这个界面 public interface INameScope void Register string name object scopedElement object Find string name void Unregiste
  • 对于不使用 Emacs 的 Windows 用户是否值得交换 Ctrl 和 Caps Lock

    我已经了解 Steve Yegge 的建议交换 Ctrl 和 Caps Lock虽然我不使用 Emacs 但已经有一段时间了 我刚刚尝试将它们交换作为实验 但发现很难调整 现在有几个快捷键对我来说已经是第二天性了 但我还没有意识到它们在我使
  • 使用正则表达式进行 LDAP 搜索

    有没有办法可以使用字段的正则表达式在 LDAP 上进行搜索 我在用LDAP搜索或 Sun Java System Directory Server 控制中心 进行搜索 答案是否定的 你不能 为什么 因为 LDAP 标准将 LDAP SEAR
  • Python。 Matplotlib 倒置图像

    我不知道这里出了什么问题 import matplotlib pyplot as plt im plt imshow plt imread tas png plt show 并且Y轴反转了 所以我写了一篇论证origin lower im
  • 将数学表达式中的^(幂)符号替换为C的pow语法

    我有一个数学表达式 例如 2 x 3 2 x 5 7 10 0 5 我需要更换 符号到powC语言的函数 我认为正则表达式是我所需要的 但我不知道像专业人士那样的正则表达式 所以我最终得到了这个正则表达式 s s 我不知道如何改进这一点 你
  • 在父级 Shiny 服务器中调用反应式数据集的 Shiny 模块

    我正在寻求移植一些较旧的闪亮应用程序以使用闪亮模块 但在尝试移植我的反应式表达式时遇到了麻烦 根据文档 目标不是阻止模块与其交互 包含应用程序 而是使这些交互变得明确 如果一个 模块需要使用反应式表达式 取反应式 表达式作为函数参数 我有现
  • Monotouch和XCode 4,风口去哪儿了?

    今天我用最新版本的 MonoDevelop MonoTouch 和 Mono Framework 更新了我的 mac 我还下载了最新版本的 XCode 版本 4 一个漂亮的 4 5 gig 下载 起初我没有注意到它 因为我正忙着将代码复制到
  • Clojure 中的多态模式验证

    我想使用架构来验证请求对象 映射中的值之一决定哪些其他字段有效 例如 这些都是有效的 name jane type dog barking true name alan type bird cheeping true name bert t
  • 失败,因为:de.measite.minidns.hla.ResolutionUnsuccessfulException:请求 xxxx。 IN AAAA 产生错误响应 NX_DOMAIN

    在我升级 smack 到 4 2 0 后 我遇到了连接问题 The following addresses failed xxxx 5222 failed because de measite minidns hla ResolutionU
  • 无需数据绑定即可渲染值

    在 AngularJS 中 如何在没有 2 路数据绑定的情况下渲染值 出于性能原因 或者甚至在给定时间点渲染一个值 人们可能想要这样做 以下示例均使用数据绑定 div value div div div 我如何渲染value 没有任何数据绑
  • Hibernate:将基类的实例更改为子类

    我想将一个具体的超类更改为其子类之一 我在下面提供了一个示例 Entity Table name employees Inheritance strategy InheritanceType JOINED public class Empl
  • 如何将“YYYY-MM-DD hh:mm:ss”格式的日期转换为 UNIX 时间戳

    如何转换格式为 YYYY MM DD hh mm ss 的时间 例如 2011 07 15 13 18 52 到 UNIX 时间戳 我尝试了这段Javascript代码 date new Date 2011 07 15 getTime 10
  • 为什么 Composer 在 300 秒后设置超时?

    我有一个用 symfony2 制作的小项目 当我尝试在我的服务器上构建它时 解压缩 symfony 时总是失败 构建正常 突然作曲家无法解压 symfony 我没有更改任何内容 我尝试使用 Jenkins 构建 也尝试从 bash 手动构建
  • 可变参数方法覆盖/重载混乱

    方案1 class B public void m1 int x System out println Super class class A extends B public void m1 int x System out printl
  • 为什么字符串不比较引用?

    我知道这是特殊情况 但为什么字符串之间的 在它们的值相等时返回 而不是在它们的引用相等时返回 这与重载运算符有关系吗 The 运算符重载于String事实上 执行值相等而不是引用相等 这个想法是让字符串对程序员更加友好 并避免使用引用相等来