簡體   English   中英

訪問從另一個 class 方法創建的 arraylist

[英]Accessing an arraylist which created in method from another class

我有三個名為 ReadArticle、Article 和 Command 的類。 我想使用在 ReadArticle 中定義並在文章 class 的 ReadArticle 的 readArticleCommandFile 方法中創建的 arrArticle。 在命令 class 中,首先調用 ReadArticle class 中的 readArticleCommandFile 方法和文章 class 中的 makeArticleObject 方法

//I created their articleReader object from ReadArticle class
// and created article object from Article class
articleReader.readArticleCommandFile(articleName);
article.makeArticleObject();

這是閱讀文章 class。 我在這里創建了arrArticle。

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;

public class ReadArticle {
    public static ArrayList<String> arrArticle = new ArrayList<>();

public void readArticleCommandFile(String fileName) throws IOException {
    String line;
    System.out.println("in read article command file");
    try (BufferedReader article = new BufferedReader(new FileReader(fileName))) {
        System.out.println("in try");
        while ((line = article.readLine()) != null) {
            if (!line.endsWith(" ")) {
                arrArticle.add(line);
            } else {
                while (line.endsWith(" ")) {
                    line = line.substring(0, line.length() - 1);
                }
                arrArticle.add(line);
            }
        }
    }
}

public ArrayList<String> getArrArticle() {
    return arrArticle;
}

public static void setArrArticle(ArrayList<String> arrArticle) {
    ReadArticle.arrArticle = arrArticle;
   }
 }

在文章 class 中,我想使用來自 ReadArticle class 的 arrArticle arraylist。 我創建了 ReadArticle Object 並使用 getArrArticle 方法獲取 arrArticle。 然后我想在 makeArticleObject() 中使用 arrArticle

 ReadArticle readArticle = new ReadArticle();
 public  ArrayList<String> myArticleArray = readArticle.getArrArticle();
 int lengthArticleArray = myArticleArray.size();
 public void makeArticleObject() {
    System.out.println("now");
    System.out.println(lengthAuthorArticleArray);
    System.out.println(lengthArticleArray);

    ArrayList<String> array1 = new ArrayList<>();
    for (String sentence : myArticleArray) {
        array1.add(sentence.substring(9));
    }}

它不時打印 0 來表示 myArticleArray 的長度。 這表明從 ReadArticle class 獲取 arrArticle 時存在一些問題。 如何在文章 class 中使用 arrArticle arraylist 而沒有任何問題?

它甚至會在某個時候寫入數組嗎? 也許它找不到任何數據放入數組

暫無
暫無

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

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