【问题标题】:Passing value of arrayList from a void method to arrayList in another class将arrayList的值从void方法传递给另一个类中的arrayList
【发布时间】:2018-05-29 16:58:15
【问题描述】:

我有一个名为 Preprocessing 的类,并有一个名为 Process() 的方法

,它有一个名为 datatweets 的 ArrayList,其中包含我的数据。

public void Process(){
 //the process...
   datatweets.add(mydata);
}

然后我尝试将数据推文和值(我的数据)传递给不同类的另一个 ArrayList。我尝试过使用 getter 方法,例如:

public ArrayList getMyList(){
       return datatweets;
} 

但是当我调用它时它仍然不打印任何值。请告诉我出了什么问题,我该怎么办?

这就是我调用 arrayList 的方法:

Preprocessing data = new Preprocessing();
        ArrayList<String> dataset = new ArrayList<>();
        dataset = data.getMyList();

        for(int a=0;a<dataset.size();a++){
            System.out.println(dataset.get(a));
        }

【问题讨论】:

  • 告诉我们,你是怎么做到的。
  • 您能否添加代码来尝试将数据推文和值(我的数据)传递到不同类的另一个数组列表?
  • 不清楚你想在这里实现什么。请详细说明。
  • 我已经编辑了我的问题,如果不清楚,我很抱歉。请提供任何帮助
  • 你在哪里调用 Process()?在开始循环之前,您在哪里向 Preprocessing-object(datatweets) 添加值?

标签: java arraylist methods void


【解决方案1】:

据我了解,您有一个名为“预处理”的类。现在您应该将“datatweets”作为类的实例变量。

现在您应该创建一个预处理对象并调用方法“Process”。在方法过程中,您应该填写数组列表“datatweets”。处理方法应包含以下代码。

if(this.dataTweets == null)
 this.dataTweets = new ArrayList<>();

this.dataTweets.add(myData);

一旦通过调用 process 方法填充数据推文。您应该在同一个类中有 getter 方法,该方法应该返回数据推文

public List<String> getDataTweets(){
return this.dataTweets;
}

现在主函数应该是这样的

public static void main(String[] args){
Preprocessing preprocessor = new Preprocessing();
preprocessor.Process();
List<String> dataTweets = preprocessor.getDataTweets();
 //Now iterate over this you will surely get data.
}

你的类预处理器应该是这样的

public class Preprocessor{
 private List<String> dataTweets;
 public void process(){
    //processing
   this.dataTweets.add(data);
 }
 public List<String> getDataTweets(){
   return this.dataTweets;
 }
}

【讨论】:

  • 非常感谢您的回答,但是我在控制台上打印了一个空白页,就像我从上一课(预处理)传递过来的数组列表是空的一样。你怎么看? @Rohit
  • 请检查您是否向 dataTweets 数组添加任何值。只需尝试调试或至少 sysout 来控制您添加到 arraylist 的值。如果没有任何内容要添加到该数组列表中,那么您将获得空数组列表,然后是空屏幕。
  • 我在 Process() 方法中将 myData 添加到 dataTweets arrayList。当我 sysout 它在控制台中打印值。但是当我从另一个类中 sysout 时它只是打印 [ ] 这是我的 arrayList 是空的,对吗? @Rohit
  • 请再次检查我的答案。我有关于它的外观的类定义。你也是这样吗?
  • 是的,我正在按照您所说的做。无论如何,方法 Process() 是一个 void 方法,有关系吗? @Rohit
猜你喜欢
  • 2021-05-06
  • 2013-12-10
  • 1970-01-01
  • 1970-01-01
  • 2016-01-14
  • 1970-01-01
  • 1970-01-01
  • 2019-05-27
  • 1970-01-01
相关资源
最近更新 更多