如何在java中从String创建唯一的整数?

Sat*_* Kr 0 java database string

我需要在Java中使用String创建一个Unique Integer,这样碰撞几率就会降低.

有没有办法,我们可以在Java中创建一个整数,对于同一个字符串总是唯一的?

我必须在数据库中存储缺少字符串,所以我想转换为哈希码,以便更少检索我解除SELECT查询的时间.

pax*_*blo 6

"永远独一无二"?没有.

你所谈论的基本上是散列,除非你的字符串没有比整数更多的信息内容(即位数),否则你无法保证唯一性.

您可以期待的最好的是一些合理平衡的负载因子,并且网上有许多通用的散列函数.

Java的Object类实际上提供了一种.hashCode()方法,如果大多数子类需要不同的行为,它们可以覆盖这些方法.

事实上,Java的String类就是这样做的.

所以你可以简单地做一些事情:

String str = "My hovercraft is full of eels";
int code = str.hashCode();
Run Code Online (Sandbox Code Playgroud)