java.lang.Long不能在Java中强制转换为java.lang.String

时间:2015-06-26 06:55:41

标签: java casting

我以这种方式得到回应:

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

当我迭代并将值转换为字符串时,它会抛出错误:

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();
        }
}

我想将值转换为字符串。这里有什么问题吗?

2 个答案:

答案 0 :(得分:9)

使用String.valueOf()代替投射:

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

答案 1 :(得分:2)

由于StringLong是完全不同的类型,因此无法投射它们,但您可以使用静态方法String.valueOf(Long value)和向后Long.valueOf(String value)