将泛型 ArrayList 元素强制转换为基元类型 (long)



我想写一个方法,它面对一个长数字的泛型 ArrayList 元素。我知道数组只包含 Long 值,所以我不需要检查这个。这是我的方法:

searchSum(ArrayList <T> array, long n);

我需要做的对抗是:

array.get(index)==n

不能将列表强制转换为基元。Java 列表包含对象,原语不是对象。但根据你想做什么,我很确定有一种简单的方法可以实现它。不幸的是,从你的问题中,我几乎无法理解目标是什么。

如果要查找列表是否包含可以使用的元素:

array.indexOf(new Long(n));,它会告诉您元素的第一个发生率的索引。

如果你只是想看看它是否存在,你可以使用array.contains(new Long(n));

如果 你想对所有元素求和(因为你的方法叫做searchSum(,你可以这样做:

searchSum(ArrayList <T> array, long n){
for (Long element: array){
   if(Long.valueOf(n).equals(element)){
        .... do something here...
    }
  }
}

相关内容

最新更新