Каков самый простой способ в Java сопоставить строки (Java String
) с (положительными) целыми числами (Java int
), так что
- равные строки отображают равные целые числа, а
- различные строки отображаются в разные целые числа?
Итак, подобно hashCode()
, но для создания разных целых чисел требуются разные строки. Таким образом, в некотором смысле, это будет hasCode() без возможности столкновения.
Очевидное решение будет поддерживать таблицу сопоставления от строк до целых чисел, и счетчик, чтобы гарантировать, что новым строкам присваивается новое целое число. Мне просто интересно как эта проблема обычно решается. Было бы также интересно распространить его на другие объекты, кроме строк.