我正在尝试编译以下代码,但是获取"不兼容类型对象无法转换为for(Number n:list)
处的数字。
import java.util.*;
class Output
{
public static double sumOfList(List list)
{
double s=0.0;
for(Number n:list)
s+=n.doubleValue();
return s;
}
public static void main(String[] args)
{
List li=Arrays.asList(1,2,3);
System.out.println(SumOfList(li));
}
}
答案 0 :(得分:4)
聆听" Raw类型"警告您的编译器输出和use generics.
将列表类型声明为List<Number>
或List<? extends Number>
。
(和never use raw types.它们仅用于向后兼容。)
答案 1 :(得分:2)
将您的代码更改为:
public static double sumOfList(List<Number> list){
..
}