试图制作一个ArrayList;编译器无法解析“添加”

时间:2017-01-12 10:09:24

标签: java arraylist

我应该创建一个将在循环上创建的对象数组,但出于某种原因,我无法向数组中添加内容。

我有这个

public class _10Weather {        
    List<Weather> daysoff = new ArrayList<Weather>();        
}

当我这样做时

daysoff.add

它说无法解决添加问题。我一直在阅读很多关于arraylists的问题以及关于如何添加的问题,但它似乎应该就是这样。

编辑:那些是进口,我一直在尝试很多东西。

import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;

1 个答案:

答案 0 :(得分:0)

写作时

daysoff.add

然后你要求编译器查找名为add字段;数据成员。 java.util.List类没有名为add的字段,因此它报告它无法解决此问题。

你应该致电

daysoff.add(someInstance);

其中someInstanceWeather的实例。 然后,编译器将识别您正在调用名为add方法

当您执行此操作时,您已经定义了someInstance。添加实例与创建实例是分开的。 假设Weather的构造函数采用字符串参数。你会得到这样的东西:

Weather someInstance = new Weather("sunny");
daysoff.add(someInstance);

在第一行中,您已经创建了实例。在第二个,你正在使用它。

在这种情况下,确保您拥有正确的List类型也很重要; Java AWT还有一个名为List的类,它与java.util.List不同。人们要求您告诉我们您的导入的原因是,他们可以看到您是否意外使用java.awt.List代替java.util.List