Swing

Olá galera, estou querendo pegar os dados digitados em um JTextField e setar em um ArrayList, mas estou com um problema, está dando um erro quando eu digito o CPF no meu campo de texto o eclipse aponta um erro.

No meu método estou fazendo a conversão para String com o valueOF do cpf já que ele é um inteiro, mas está dando uma exceção de " java.lang.NumberFormatException"

Está estourando o tamanho do campo Italo, a quantidade de dígitos do CPF é maior do que o tipo int suporta. Troca o tipo do CPF para texto, ou se realmente quiser um número troca para um inteiro longo.

1 curtida

E como eu faria a conversão de long para String?, como ficaria conversão nesse caso abaixo?

pessoaFisica.setCpf(Integer.valueOf(tfIndentificador.getText()));

Long.valueOf.

Mas não seria melhor trabalhar com String mesmo?

o problema está no Integer.valueOf, o correto seria Integer.parseInt()

E respondendo sobre a conversão:
De texto para long seria Long.parseLong()
De long para texto seria String.valueOf()

2 curtidas

Também acho.

A mensagem de erro está clara, não pode converter a String "1216976 " para um número inteiro, reparou que tem um espaço em branco depois do número 6 ?
Outra coisa, não faz sentido o CPF ser um número inteiro pois há CPFs que começam com zero.

1 curtida

usa o cpf como String , nao como int, assim acaba facilitando sua programação e impede alguns erros como no caso do usuario digitar traços e voce nao tratar erro;