Java 如何在其他类中访问此列表?
我已经从CSV文件创建了一个项目列表,但不确定如何在另一个类中访问此列表。我已经在新类中创建了list类的实例,但无法找到访问list的方法Java 如何在其他类中访问此列表?,java,list,Java,List,我已经从CSV文件创建了一个项目列表,但不确定如何在另一个类中访问此列表。我已经在新类中创建了list类的实例,但无法找到访问list的方法 public class ListClass { public static void main(String[] args) throws IOException { CSVReader csvReader = new CSVReader(); List list = csvReader.Read("csvFile
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();
您应该将列表作为私有实例变量存储在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
}
您需要通过执行以下操作之一使列表可供其他类访问:
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
}
}
您是否确保两个文件都在同一个包中?您是否在其他类中导入了
ListClass
?您是否使用类路径上的所有相关类文件进行构建?当您指的是访问时,您指的是初始化、实例化还是实际使用这些值?您试图访问的列表只能从main方法访问。尝试将列表分配给类变量。您可能希望将字段设置为私有,否则使用getter会有点开销。非常感谢,这确实帮助了我
public class ListClass {
public List list;
ListClass(){
try{
CSVReader csvReader = new CSVReader();
list = csvReader.Read("csvFile.csv");
}catch(IOException e){
//handle the exception
}
}
}
public class OtherClass{
public static void main(String[] args){
ListClass listClass = new ListClass();
List newList = listClass.list;// your list
}
}