java - 无法从类型对象转换为 long

标签 java casting types long-integer

我有一个名为 table 的哈希表。类型值为 long。我正在使用 .values() 获取值。现在我想访问这些值。

Collection val = table.values();

Iterator itr = val.iterator();
long a  =   (long)itr.next();

但是当我尝试获取它时,它给了我错误,因为我无法将类型 object 转换为 long。我该如何绕过它?

最佳答案

试试这个:

  Long a = (Long)itr.next();

您最终会得到一个 Long 对象,但是通过自动装箱,您几乎可以像原始 long 一样使用它。

另一种选择是使用泛型:

  Iterator<Long> itr = val.iterator();
  Long a = itr.next();

关于java - 无法从类型对象转换为 long,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2351189/

相关文章:

java - 将运行时对象的类传递给 java 中的泛型字段

python - 使用 SWIG 生成 Python 类型提示

java - Scala 的 .type 和 Java 的 .class 字面量

c++ - 如何让一个类包含不同的类类型并调用持有的那些对象的成员?

c++ - 超出限制时进行类型转换

ios - 对__bridge,_bridge_retain和_bridge_transfer的疑问

java - 使用 getValue 调用 Firebase 时,在类 org.json.JSONObject 上找不到要序列化的属性

java - onAdImpression() 未在 Admob 监听器中调用

java - Java 8 Stream 抛出 RuntimeException 时的预期行为是什么?

java - 正则表达式 : Multiline check problem