不兼容的类型对象无法转换为 Number
incompatible types object cannot be converted to Number
我正在尝试编译以下代码,但出现“无法将不兼容的类型对象转换为 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));
}
}
收听编译器输出的 "Raw types" 警告和 use generics.
将列表类型声明为List<Number>
或List<? extends Number>
。
(和 never use raw types. 它们的存在只是为了向后兼容。)
将您的代码更改为:
public static double sumOfList(List<Number> list){
..
}
我正在尝试编译以下代码,但出现“无法将不兼容的类型对象转换为 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));
}
}
收听编译器输出的 "Raw types" 警告和 use generics.
将列表类型声明为List<Number>
或List<? extends Number>
。
(和 never use raw types. 它们的存在只是为了向后兼容。)
将您的代码更改为:
public static double sumOfList(List<Number> list){
..
}