我已经从CSV文件创建了一个项目列表,但是不确定如何在另一个班级中访问此列表。我已经在新类中创建了列表类的实例,但是无法找到访问列表的方法。
public class ListClass {
public static void main(String[] args) throws IOException {
CSVReader csvReader = new CSVReader();
List list = csvReader.Read("csvFile.csv");
}
}
我已经能够打印列表,所以我知道它肯定可以正常工作,但是我不确定在其他课程中如何访问它。除以下内容外,新类当前为空;
ListClass listClass = new ListClass();
答案 0 :(得分:2)
您应该将列表作为私有实例变量存储在ListClass中,并为其创建一个getter:
public class ListClass {
private List list = null;
public static void main(String[] args) {
try {
new ListClass();
} catch(IOException ioEx){
// error handling
}
}
public ListClass() throws IOException {
CSVReader csvReader = new CSVReader();
list = csvReader.Read("csvFile.csv");
}
public List getList(){
return list;
}
}
然后您可以从其他班级访问它:
try {
ListClass listClass = new ListClass();
List list = listClass.getList();
} catch(IOException ioEx){
// error handling
}
答案 1 :(得分:1)
您需要执行以下一项操作,以使其他班级可以访问该列表:
class ListClass {
public List csvList;
...
}
class ListClass {
private List csvList;
public List getCsvList() {
return this.csvList;
}
...
}
还有许多其他访问类变量的方法。第二种是非常普通的方法。
答案 2 :(得分:0)
1)将列表添加为ListClass的字段,并将初始化内容放入构造函数中。
public class ListClass {
public List list;
ListClass(){
try{
CSVReader csvReader = new CSVReader();
list = csvReader.Read("csvFile.csv");
}catch(IOException e){
//handle the exception
}
}
}
2)在OtherClass中创建ListClass对象。
public class OtherClass{
public static void main(String[] args){
ListClass listClass = new ListClass();
List newList = listClass.list;// your list
}
}