java - 将非数字字符串转换为整数?

标签 java string int type-conversion

如何将非数字字符串转换为整数?

我得到了例如:

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/

相关文章:

java - JSONObject 文本必须以 java 中的 1 [字符 2 第 1 行] 处的 '{' 开头

java - FirebaseRecyclerAdapter 不会覆盖 onDataChanged

c - 如何从用户接收字符串以接收空字符串并在c中打印它们

c - scanf 发出多个输入

java - 在 Java 中比较 BigDecimal 和 int

java - 使用点击监听器绕过堆叠 View

java - 这些是同义词、彼此的子集还是完全不同?

python - Python 中相当基本的字符串扩展?

java - 在 else-if 循环中比较字符串和变量时出现问题

java - 如何在数学方程中使用字符串变量名称?