web-dev-qa-db-fra.com

java.lang.Long ne peut pas être converti en Java.lang.String dans Java

Je reçois une réponse de cette manière:

[{Id=1066276530, Key1=1815401000238}, {Id=1059632250, Key1=1815401000244}]

Lorsque j'itère et convertis les valeurs en chaîne, cela me renvoie l'erreur:

Java.lang.Long cannot be cast to Java.lang.String in Java

 for (Map<String, String> map : leadIds) {
        for (Map.Entry<String, String> entry : map.entrySet()) {
            String applicationNumber = (String) entry.getValue();
        }
}

Je veux convertir la valeur en chaîne. Y a-t-il un problème ici?

13
Syed

Utilisez String.valueOf() au lieu de transtyper:

for (Map<String, Long> map : leadIds) {
        for (Map.Entry<String, Long> entry : map.entrySet()) {
            String applicationNumber = String.valueOf(entry.getValue());
        }
}
11
codeaholicguy

Étant donné que String et Long sont des types complètement différents, vous ne pouvez pas les convertir, mais vous pouvez utiliser la méthode statique String.valueOf(Long value) et vers l'arrière Long.valueOf(String value).

2
Igor Patsyan