当前位置: 首页 > 面试题库 >

Java的hashCode可以为不同的字符串产生相同的值吗?

柴瀚昂
2023-03-14
问题内容

使用Java的hashcode函数是否可能对不同的字符串使用相同的hashcode?或者如果可能的话,其可能性的百分比是多少?


问题答案:

Java哈希码是32位。它散列的可能字符串的数量是无限的。

所以是的,会有碰撞。百分比是没有意义的-存在无限数量的项目(字符串)和有限数量的可能的哈希。



 类似资料:
  • 使用Java的hashcode函数可以为不同的字符串提供相同的hashcode吗?或者如果有可能,那么可能性的百分比是多少?

  • 问题内容: 我正在阅读Head First Java的书中的一句话: 关键是哈希码可以相同,而不必保证对象相等,因为该方法中使用的“哈希算法” 可能会为多个对象返回相同的值。 为什么该方法可能为不同的对象返回相同的值?这不会引起问题吗? 问题答案: *对对象进行 *散列 意味着“ 找到可以由相同实例一次又一次地再现的良好的描述性值(数字) ”。由于Java的哈希码类型为,因此只能具有不同的值。这就

  • 问题内容: 我目前正在处理给我的一个旧项目,它目前使用Java swing并且具有基本的GUI。它具有一个ColorPane,它可以扩展Jtextpane来更改所选文本的颜色。 它使用这种方法 说那个字符串=“ Hello World!” 你好颜色是绿色世界是黑色。如何根据Jtextpane的颜色来获取Hello。我尝试了笨拙的方式,即在更改颜色时只存储所选单词,但是有一种方法可以一次性获取所有绿

  • 问题内容: 我有两个字符串,它们看起来都一样: 但是,检查相等性表明它们不是。 我还尝试从命令提示符中复制两个字符串,并将它们作为新变量粘贴回去,但是它们仍然不相等。我有80%的把握是因为它们的编码方式很怪异,插入了一些我看不见的奇数字符,但是使用type()都只是显示为字符串。 有什么办法可以看到“真实”字符串?任何帮助表示赞赏。 问题答案: 他们是不一样的; using显示了这两个值之间的差异

  • 问题内容: 我知道问题的标题不是很清楚,对此感到抱歉,不知道如何提出。我有一个非常基本的Java实现问题,我想着重于应用程序性能,但是它也涉及Java中的String创建模式。 我了解Java中字符串的不变性概念。我不确定的是,我在某处读到以下内容不会创建两个不同的String对象: 我想知道Java是怎么做到的?它实际上是否在程序存储器中寻找一个String值并检查其是否存在,如果不存在则创建一

  • 字符串池是否可以包含两个值相同的字符串??