Java编译错误错误:ArrayList.add(Object)不适用于参数(float)

时间:2015-09-13 08:48:53

标签: java eclipse arraylist

import java.util.ArrayList;
import java.util.List;

public class ArrayListDemo 
{

    public static void main(String[] args) 
    {
        // TODO Auto-generated method stub
        ArrayList list=new ArrayList();
        list.add("Praveen");
        list.add(15);
        list.add(4.5F);
        list.add(true);
        list.add(false);
        System.out.println(list);

    }

}

显示错误:

The method add(Object) in the type ArrayList is not applicable for the arguments (float)
The method add(Object) in the type ArrayList is not applicable for the arguments (boolean)
The method add(Object) in the type ArrayList is not applicable for the arguments (float)

我使用的是Java 1.8。 同样的例子是在我的教师计算机上工作而没有显示任何错误....任何程序员都没有回复相同的帖子....请帮助我......

2 个答案:

答案 0 :(得分:2)

您的项目面向非常古老的Java编译器版本。您的代码使用自动装箱,至少需要1.5。

转到:窗口 - >偏好 - > Java - >编译器。将“编译器合规性级别”设置为1.8(或1.7 - 如果不可用)。单击确定。 右键单击您的项目 - >属性 - > Java编译器。确保未选中“启用项目特定设置”。 重建你的项目。

答案 1 :(得分:1)

使用Oracle JDK 1.8为我工作。

您遇到的问题是autoboxing - 这是Java 5中添加的一项功能,它允许编译器在原始类型及其包装器对象之间自动转换。

只要编译器可以将这些原语自动放入对象中,它们就可以很好地添加到列表中。