Tipos de valores do HashMap
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?
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
Curtidas 0
Respostas
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...);
}
}
}
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
26/06/2012
blz cara!
Consegui resolver da seguinte forma
if (valor instanceof Double) {
// realiza peração
}
Obrigado pela atenção!
Consegui resolver da seguinte forma
if (valor instanceof Double) {
// realiza peração
}
Obrigado pela atenção!
GOSTEI 0
Eduardo Gonçalves
26/06/2012
Legal, essa sua solução é mais esperta mesmo!
GOSTEI 0