簡體   English   中英

從另一個類訪問數組列表元素

[英]Accessing array list elements from another class

我有一個具有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);

    }    
}

您的其他類可以在自己的構造函數中接受兩個ArrayList,也可以作為特定方法的參數,具體取決於您要執行的操作。 通過將它們作為參數傳遞,您實際上將傳遞對您在主函數中創建的ArrayList的引用,因此另一個類將能夠讀取其中的值。

這取決於如何在第二類中使用數組。 您有以下選擇。

  1. 在第二類的方法中使用數組。
  2. 將數組用作第二個類中的成員。
  3. 將數組用作第二個類中的靜態成員。

對於1,您可以簡單地將數組傳遞給方法。 對於2,您可以將數組傳遞給構造函數,並初始化類中的成員變量。 對於3,您可以設置諸如SecondClass.fileList = myFileList;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM