Pessoal…
Estou tendo problemas com a conversão de tipos.
intano=Integer.parseInt(valor);
Esta sempre retornando um erro dizendo que tem uma string, mesmo o valor sendo numerico (ex. “1997”). Acredito que n´~ao exista uma outra maneira de fazer o casting em java.
Os dados estao vindo de um arquivo texto - vindo de um db.
Pode haver algum erro ai?
Como corrgigir isto? devo criar um metodo que encontre o numeros e crie um novo int?
Qua vcs acham?
tem certeza que ta passando o valor para o Integer.parseInt(valor); ??
furutani
Isso ocorre por que a sua variavel valor está vindo vazio.
Certifique-se para que quando a variavel esta vazia não seja feito o parse, ou seja, faça um if(valor.equals("")) não faz a conversão.
Entendeu?
ramilani12
Como esta estrutura desse arquivo?
Ele soltou essa exception prq vc tentou transformar String vazia em Inteiro
Depende vc quer comparar tipos ou se ambos objetos estao apontando para o mesmo de endereço de memória?
qndo faz
if(srt=="")estacomparandoseotipossãoiguais
No caso acima vc esta comparando se dois objetos apontam pro mesmo endereço, ou seja, sempre vai da false.
Para comparar tipos existe o operador instanceof.
Nesse caso vc esta compando se dois objetos são equivalentes, e não se o str aponta para um determinado endereço.
ramilani12
Sempre me confundo com esses caras!
Então o operador == compara as referências?
E equals() compara se são do mesmo atributo?
furutani:
ramilani12:
Depende vc quer comparar tipos ou se ambos objetos estao apontando para o mesmo de endereço de memória?
qndo faz
if(srt=="")estacomparandoseotipossãoiguais
No caso acima vc esta comparando se dois objetos apontam pro mesmo endereço, ou seja, sempre vai da false.
Para comparar tipos existe o operador instanceof.
Nesse caso vc esta compando se dois objetos são equivalentes, e não se o str aponta para um determinado endereço.