Java String 空字符串的 hashCode

2024-01-12

唯一有趣的是,为什么 java.lang.String 中的方法 hashCode() 不是静态的? 如果返回 null,例如-1? 因为经常需要做一些类似的事情:

String s;
.............
if (s==null) {
  return 0;}
else {
  return s.hashCode();
}

Thanks.


正如其他人指出的那样hashCode是一个方法Object并且是非静态的,因为它本质上依赖(即属于)对象/实例。

请注意,Java 7 引入了Objects http://download.oracle.com/javase/7/docs/api/java/util/Objects.html类,其中有hashCode(Object) http://download.oracle.com/javase/7/docs/api/java/util/Objects.html#hashCode%28java.lang.Object%29方法,它正是你想要的:返回o.hashCode() if o为非空或0否则。

这个类还有其他处理可能的方法 -null值,例如equals(Object, Object) http://download.oracle.com/javase/7/docs/api/java/util/Objects.html#equals%28java.lang.Object,%20java.lang.Object%29, toString(Object) http://download.oracle.com/javase/7/docs/api/java/util/Objects.html#toString%28java.lang.Object%29和其他一些。

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

Java String 空字符串的 hashCode 的相关文章

随机推荐

  • 设置和获取交集的 MySQL 字符串

    我有一个错误投影的数据库 其中在文本列中设置了 ID 例如 1 2 5 10 我需要获得以相同方式设置的两列的交集 我不喜欢使用 PHP 或其他脚本语言来完成它 我也不喜欢 MySQL 自定义函数 有没有办法获得由逗号分隔符字符串给出的两个
  • Spring Data REST:如何在一次调用中使用 Id 列表检索多个项目?

    我可以通过以下调用从 Spring Data REST 检索一本书籍 获取 书 id 现在 如果我知道两本书的 Id 并且想一次检索它们呢 应该打电话什么 我尝试了以下操作 但它返回的书籍与指定的书籍不同 GET book ids id1
  • 删除 EF4 中的实体而不加载整个实体

    我正在使用实体框架 4 并有以下设置和问题 我在 MySql 中有一个表 其中包含元数据字段和 blob 字段 使用所描述的表拆分技术here http blogs microsoft co il blogs gilf archive 20
  • Twitter 分享按钮不转发自定义文本

    我正在开发一个网站 为每个特定产品提供 Twitter 共享选项 我按照 Twitter API 说明进行推文共享 除了自定义文本显示之外 一切正常 例如 我希望用户像这样发推文 你觉得怎么样 我应该买这个吗 http url etc ht
  • 调整未知大小的张量流图像的大小

    我有一个张量流 UNet 风格的网络 目前我指定输入和目标图像如下 self inputTensors tf placeholder tf float32 None opt inputHeight opt inputWidth opt in
  • 如何从多个 python-flask 子进程收集普罗米修斯指标?

    我有 main 函数 它生成两个单独的子进程 这两个子流程共享指标 如何共享两个流程的指标并保持更新 这是我的片段 以供更多理解 from multiprocessing import Process import prometheus c
  • 检查字符串是否包含前导字母

    如何检查我的字符串是否包含前导字母 在 C 中很容易 但我在 SQL 中这样做 有办法检查吗 如果是这样 我该如何删除它 前任 MyString A1234 更新后的字符串 1234 Use UPDATE YOUR TABLE SET yo
  • 我可以在运行时展开包含 C# 文字表达式的字符串吗

    如果我有一个包含 C 字符串文字表达式的字符串 我可以在运行时 扩展 它吗 public void TestEvaluateString string Dummy EvalString Contains r n new line Debug
  • 过滤以从数组中排除元素

    尝试从数组中过滤一些条目 不能保证它们位于主数组中 因此我正在通过迭代进行测试 total alpha bravo charlie delta echo hide charlie echo pick for i in total if hi
  • 通过 API 中的 Dynamodb 代理服务发布新记录时出现 SerializationException

    我正进入 状态 type com amazon coral service SerializationException 作为邮递员和 API 网关测试控制台中的回复 尝试使用 API 代理服务将记录直接发布到 dynamodb 我指的是这
  • 当命令有空格时将命令输出检索到变量

    我在很多地方读到可以使用 Windows 批处理文件for获取命令的输出并将其放入变量中 如下所示 FOR F G IN foo command DO SET FOO G 伟大的 所以我的foo command实际上是C Program F
  • Python3错误:initial_value必须是str或None,带有StringIO

    在移植代码时python2 to 3 从 URL 读取时出现此错误 类型错误 initial value 必须是 str 或 None 而不是 bytes import urllib import json import gzip from
  • 如何保持 Google Dataproc master 运行?

    我在 Dataproc 上创建了一个集群 效果很好 但是 当集群空闲一段时间 约90分钟 后 主节点将自动停止 我创建的每个集群都会发生这种情况 我看到这里有一个类似的问题 继续运行 Dataproc 主节点 https stackover
  • 如何在 cmake Android Studio 中添加 cflag?

    如何在 Cmake 配置文件中添加 D FILE OFFSET BITS 64 我试图在 build gradle 中添加为 cflag 但它不起作用 externalNativeBuild cmake cppFlags cFlags D
  • 从浏览器链接打开 Play 商店应用

    From 这个帖子 https stackoverflow com questions 35430336 redirect users to itunes app store or google play store我能够创建一个功能 将用
  • Laravel 删除查询生成器

    在 Laravel 4 中Illuminate Database Query in a Builder class delete函数接受null as an id范围 这个函数的行为意味着如果我有类似的东西 DB table users g
  • 通过意图从另一个活动关闭活动

    我想从第一个活动开始 并且想有目的地关闭第一个活动 我试过了 但接收器不起作用 我的应用程序中有不同的接收器 所以我希望仅从 FirstReceiver 接收此意图 我该怎么做 public class First extends Acti
  • java.io.IOException:流已关闭

    对于多图像检索 我正在调用PhotoHelperServlet使用锚标记来获取 imageNames 多个图像 如下所示 PhotoHelperServlet获取姓名Images protected void doGet HttpServl
  • 我可以在 Python 中通过 Popen 使用打开的 gzip 文件吗?

    我有一个从标准输入读取数据的小命令行工具 在命令行上我会运行 foo lt bar or cat bar foo 使用 gzip 压缩文件我可以运行 zcat bar gz foo 在Python中我可以做 Popen foo stdin
  • Java String 空字符串的 hashCode

    唯一有趣的是 为什么 java lang String 中的方法 hashCode 不是静态的 如果返回 null 例如 1 因为经常需要做一些类似的事情 String s if s null return 0 else return s