[RESOLVIDO] Erro no Integer.parseInt do CPF

Pessoal, tá dando um erro aqui que não consigo resolver de jeito nenhum.

Exception in thread “AWT-EventQueue-0” java.lang.NumberFormatException: For input string: “12312312312”

    String CPF;
    int cpf2;
    CPF = jftf_cpf.getText();
    CPF = CPF.replaceAll("[.-]", "");
    cpf2 = Integer.parseInt(CPF);
   
    pessoa.setCPF(cpf2);

E pq vc quer converter o cpf para int? Sempre se usa como String.
O valor é maior q um int.

Eu criei a coluna como int no banco de dados, sou iniciante em java.
eu gostaria de converter o valor em String que peguei e converter para inserir no DB

EDIT:
Você tem razão, CPF não faz sentido como int.
Criei uma nova coluna como varchar, alterei a variavel cpf de int para String e apaguei o Integer.parseInt do codigo, mas o erro permanece.

Troca no banco pra String/varchar
Se n vai usar o valor pra fazer cálculo então n tem pq converter para número. Mesmo assim int n comporta.

1 curtida

Consegui resolver o erro. Muito obrigado !

O maior valor que um int pode receber é 214748364.
Mas como já foi dito, não faz sentido o CPF ser int até porque um CPF pode começar com zero.

1 curtida