Tipos de valores do HashMap

Java

26/06/2012

E aew galera blz!

Estou com o seguinte problema:

Eu tenho um HashMap que contem valores do tipo double e do tipo String, caso seja o valor seja um double eu tenho que fazer um calculo e o resultado eu adiciono com ele caso seja uma string eu repito o valor.

como eu fasso para saber qual o tipo do valor recuperado do HashMap?
Ismael Oliveira

Ismael Oliveira

Curtidas 0

Respostas

Eduardo Gonçalves

Eduardo Gonçalves

26/06/2012

Mas os valoress double e string estão dentro de uma variável do tipo String?

Se for o caso, dá pra resolver com try-catch, como no exemplo abaixo. A idéia é tentar converter pra double, usando Double.parseDouble. Se der tudo ok, é pq é um valor double. Mas se der erro, vai cair no catch e aí você trata.


public class TesteDoubleString {

public static void main(String[] args) {

String valor1 = frase;
String valor2 = 3.14;

try {
double aux_teste = Double.parseDouble(valor1);
System.out.println(aux_teste);

} catch (NumberFormatException e) {
System.out.println(o valor eh String...);
}

try {
double aux_teste = Double.parseDouble(valor2);
System.out.println(aux_teste);

} catch (NumberFormatException e) {
System.out.println(o valor eh String...);
}
}
}
GOSTEI 0
Ismael Oliveira

Ismael Oliveira

26/06/2012

blz cara!

Consegui resolver da seguinte forma

if (valor instanceof Double) {
// realiza peração

}

Obrigado pela atenção!
GOSTEI 0
Eduardo Gonçalves

Eduardo Gonçalves

26/06/2012

Legal, essa sua solução é mais esperta mesmo!
GOSTEI 0
POSTAR