如何将非数字字符串转换为整数?
我得到了例如:
String unique = "FUBAR";
将字符串表示为没有冲突的整数的好方法是什么,例如“FUBAR”应始终表示为相同的数字,并且不应与任何其他字符串冲突。例如,String a = "A";
应该表示为 Integer 1
等等,但是执行此操作的方法是什么(最好是对于所有 unicode 字符串,但在我的例子中,ASCII 值就足够了)。
最佳答案
这是不可能的。想一想,Integer
只能是 32 位。因此,根据鸽巢原理,无论使用何种技术进行转换,都必须至少存在两个具有相同 Integer
值的字符串。实际上,具有相同值的无限...
如果你只是在寻找一个高效的映射,那么我建议你直接使用hashCode()
返回的int
,作为引用其实是31位的.
关于java - 将非数字字符串转换为整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19724818/