我想用类填充arrayList来压缩我的main方法。所以,我想使用" list"填充我的arrayList。 class,然后在我的main中使用它来填充它。我不确定我错过了哪一部分,但这就是我在列表类中的内容:
public class list {
List<Entry> People = new ArrayList<>();
BufferedReader br = null;
String csvFile = "employee_data.csv";
String line = "";
String cvsSplitBy = ",";
public void readFromFile(){
try {
br = new BufferedReader(new FileReader(csvFile));
while ((line = br.readLine()) != null) {
String[] Labels = line.split(cvsSplitBy);
Entry entry = new Entry(Labels[0], Labels[1], Labels[2], Labels[3], Labels[4], Labels[5], Labels[6], Labels[7]);
People.add(entry);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
然后这是主要的,我希望填充列表打印其大小:
public static void main(String[] args) {
System.out.print(People.size());
}
如果我通过main方法读取它,它可以正常工作。但是当我尝试将其移动到自己的类时,列表People无法解析。那是为什么?
答案 0 :(得分:0)
因为People
现在是类list
的实例成员。要访问它,您需要先创建list
。
public static void main(String[] args) {
list myList = new list();
myList.readFromFile();
System.out.print(myList.People.size());
}
话虽这么说,我会考虑在代码中重新编写各种各样的东西。类名应以大写字母开头,类变量应以小写字母开头。考虑通过People
上的getter方法访问list
,即
public class list {
...
public List<Entry> getPeople() {
return People;
}
}
有关许多此类提示的具体信息,请参阅Google's style guide。