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

Sye*_*yed 14 java casting

我正以这种方式得到回应:

[{Id=1066276530, Key1=1815401000238}, {Id=1059632250, Key1=1815401000244}]
Run Code Online (Sandbox Code Playgroud)

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

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();
        }
}
Run Code Online (Sandbox Code Playgroud)

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

cod*_*guy 11

使用String.valueOf()而不是铸造:

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


Igo*_*ian 5

因为StringandLong是完全不同的类型,你不能强制转换它们,但你可以使用 static methodString.valueOf(Long value)和向后Long.valueOf(String value)