我有一个主要类ArrayList
。这个ArrayList
有一组通过迭代存储的值。我需要在另一个类中使用此ArrayList
(fileList& directoryList)值。我怎样才能做到这一点?
我不想将ArrayList
移到另一个班级。
package com.filehandler;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
public class FileFinder {
public static void main(String[] args) {
// TODO Auto-generated method stub
int directoryCount = 0;
/* Declare Lists for Files & Directories */
List<String> fileList = new ArrayList<String>();
List<String> directoryList = new ArrayList<String>();
// enter code here
/* Set file location */
File myFolder = new File("O:\\The Ultimate Book Shelf\\Technical");
File[] myFileList = myFolder.listFiles();
/* Iterate the folder to get the details of Files & Folders */
for (int count = 0; count < myFileList.length; count++) {
if (myFileList[count].isFile()) {
// System.out.println("File " + myFileList[count].getName());
fileList.add(myFileList[count].getName());
} else if (myFileList[count].isDirectory()) {
directoryCount++;
// System.out.println("Directory " +
// myFileList[count].getName());
directoryList.add(myFileList[count].getName());
} else {
System.out
.println("There are no files or directories in the mentioned path. Please verify the folder location.");
}
}
System.out.println("Total Files : "
+ (myFileList.length - directoryCount));
System.out.println("Total Directories :" + directoryCount);
System.out.println(fileList);
System.out.println(directoryList);
}
}
答案 0 :(得分:0)
您的其他类可以在自己的构造函数中接受两个ArrayLists,也可以作为特定方法的参数,具体取决于您尝试执行的操作。通过将它们作为参数传递,您实际上会将引用传递给您在main函数中创建的ArrayLists,因此另一个类将能够读取其中的值。
答案 1 :(得分:0)
这取决于如何在第二类中使用该数组。您有以下选择。
对于1,您只需将数组传递给方法即可。
对于2,您可以将数组传递给构造函数并初始化类中的成员变量。
对于3,您可以设置为SecondClass.fileList = myFileList;