O tipo long suporta sim O máximo dele é 2^64 (18.446.744.073.709.551.616), que dá mais de 14 dígitos. Mas ainda assim, eu prefiro sempre usar String para armazenar CPF, já que CPF não é um “número”, é uma identificação de uma pessoa que, coincidentemente, é formada só de números. Na minha filosofia, são coisas diferentes, mas isso aí é com você
Não precisa usar o Long.parseLong (mas também funciona, você percebeu :)). Quando você coloca um número constante, em Java, o compilador entende que é int. Esse número é muito grande pra ser um int, por isso que ele reclama. Se você fizer:
long cpf;
cpf = 11111111111L;
Aí funciona! Perceba o L no final, pra converter a constante inteira para long.
O tipo long suporta sim O máximo dele é 2^64 (18.446.744.073.709.551.616), que dá mais de 14 dígitos. Mas ainda assim, eu prefiro sempre usar String para armazenar CPF, já que CPF não é um “número”, é uma identificação de uma pessoa que, coincidentemente, é formada só de números. Na minha filosofia, são coisas diferentes, mas isso aí é com você
Até mais,[/quote]
Concordo!!!
Usa como string mesmo.
Imagina se vc precisar mostrar em alguns pontos (na tua view, algum relatorio, etc), esse teu cpf formatado…
Acho que fica mais facil formatar se for string.
Desculpem discordar, mas de CPF não fosse número, não passaria por validação numericamente calculada (dígitos verificadores). CPF não é alias, como é um domain name, que é interpretado e “convertido” em um número IP. CPF é número, sim.
E guardá-lo como String só por preguiça de reformatar a máscara me dá até urticária de tanta base de dados amadora que eu já vi por aí, que, por preguiça, define todos os campos como VAR.
Sem pretensão de ofender. Apenas forçando a pensar.
[quote=fernando.rego]Desculpem discordar, mas de CPF não fosse número, não passaria por validação numericamente calculada (dígitos verificadores). CPF não é alias, como é um domain name, que é interpretado e “convertido” em um número IP. CPF é número, sim.
E guardá-lo como String só por preguiça de reformatar a máscara me dá até urticária de tanta base de dados amadora que eu já vi por aí, que, por preguiça, define todos os campos como VAR.
Sem pretensão de ofender. Apenas forçando a pensar.[/quote]
Você soma CPF ? Multiplica CPF ? Já viu alguém totalizar CPF ? Muito provavelmente não.
CPF não é número porque CPF não representa quantidade. É uma sequencia de caracteres como qualquer outra, mas que deve obedecer a algumas regras específicas. A necessidade de se calcular um dígito verificador reforça ainda mais essa idéia, porque para fazer esse cálculo você precisa acessar cada caractere individualmente.