Я пытаюсь решить между сохранением номера телефона как string
или int
. Любые идеи?
Должен ли я хранить номера телефонов в виде строк или целых чисел?
Ответ 1
В любой ситуации, подобной этой, подумайте: мне нужно что-то вычислить с этим значением? Если это не имеет никакого смысла, вы должны использовать строку. В этом случае нет логического случая, когда вы использовали бы номер телефона в качестве номера, поэтому используйте строку.
Ответ 2
Я рекомендую использовать строку, поскольку это дает вам большую гибкость при форматировании и не числовых символах, таких как расширение и т.д.
Ответ 3
Я бы предложил использовать String
- помимо всего прочего, иначе вы не сможете хранить ведущие нули. Вы определенно не должны использовать int
(слишком маленький) float
или double
(слишком большой риск потери данных); long
или BigInteger
может быть уместным (кроме проблемы с начальными нулями), но, честно говоря, я бы пошел с String
. Таким образом, вы также можете хранить все тире или пробелы, которые пользователь вводил, чтобы облегчить запоминание номера, если вы хотите.
Ссылка: Каков правильный способ представления номеров телефонов?
Ответ 4
Я настоятельно рекомендую вам использовать string
для этого.
Если вы собираетесь проверить ввод номера телефона, вы можете использовать regex lib matcher
и pattern
, чтобы убедиться, что номер телефона был введен в правильном формате.