java.lang.Integer不能使用数组强制转换为java.lang.Long

时间:2014-05-14 00:44:58

标签: java arrays casting

我正在尝试遍历userSet,其中数组userSet中的id为Int。我一直收到这个错误:java.lang.Integer不能转换为java.lang.Long

有一种简单的方法吗?转换变量很简单,但有一种简单的方法可以将数组中的所有变量强制转换为Long吗?这里对Java很新。

Set <Long> userSet = getUniqueFollowers("/tmp/followers.txt")

for (long id : userSet) {
     System.out.println("Starting twitter account: " + id);

1 个答案:

答案 0 :(得分:0)

集合的参数化旨在不获取强制转换异常并了解集合元素的类型,了解&#34;内部是什么&#34; (但你可以随意隐藏参数类型)

所以&#34;整数集&#34;不能被投射到&#34;长长的组合&#34;直行。您只能创建一个新集合并逐个填充元素。

无论如何,你为什么需要将收藏集转移到Set<Long>?为什么不Set<Integer>(据我所知 - 什么是方法的返回类型)。 或者,正如我所说,您可以隐藏参数,只需键入Set userSet = ...

即可