Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将arrayList的值从void方法传递到另一个类中的arrayList_Java_Arraylist_Methods_Void - Fatal编程技术网

Java 将arrayList的值从void方法传递到另一个类中的arrayList

Java 将arrayList的值从void方法传递到另一个类中的arrayList,java,arraylist,methods,void,Java,Arraylist,Methods,Void,我有一个名为Preprocessing的类,还有一个名为Process()的方法 ,它有一个名为datatweets的ArrayList,其中包含我的数据 public void Process(){ //the process... datatweets.add(mydata); } 然后我尝试将datatweets和值(我的数据)传递给不同类上的另一个ArrayList。我尝试过使用getter方法,例如: public ArrayList getMyList(){

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

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

public void Process(){
 //the process...
   datatweets.add(mydata);
}
然后我尝试将datatweets和值(我的数据)传递给不同类上的另一个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));
        }
预处理数据=新的预处理();
ArrayList数据集=新的ArrayList();
dataset=data.getMyList();

对于(inta=0;a,据我所知,您有一个名为“Preprocessing”的类。现在您应该有“datatweets”作为该类的实例变量

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

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

this.dataTweets.add(myData);
if(this.dataTweets==null)
this.dataTweets=newarraylist();
this.dataTweets.add(myData);
一旦通过调用process方法填充了datatweets,您应该在同一个类中有getter方法,该方法应该返回datatweets

public List<String> getDataTweets(){
return this.dataTweets;
}
public List getDataTweets(){
返回此.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;
 }
}
publicstaticvoidmain(字符串[]args){
预处理预处理器=新的预处理();
preprocess();
List dataTweets=预处理器。getDataTweets();
//现在迭代这个,您肯定会得到数据。
}
您的类预处理器应该是这样的

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;
 }
}
公共类预处理器{
私有列表数据推文;
公共程序(){
//加工
this.dataTweets.add(数据);
}
公共列表getDataTweets(){
返回此.dataTweets;
}
}

向我们展示您是如何做到这一点的。您是否可以在尝试将数据推特和值(我的数据)传递到不同类的另一个arrayList的位置添加代码?不清楚您想在这里实现什么。请详细说明。我已经编辑了我的问题,如果不清楚,我很抱歉。请提供帮助。您在哪里调用Process()?在开始循环之前,您在哪里向预处理对象(datatweets)添加值?非常感谢您提供的答案,但我的答案是,它在控制台上打印一个空白页,就像我从上一个类(预处理)传递的arraylist一样是空的。你认为如何?@rohit请检查是否向dataTweets数组添加了任何值。只需尝试调试或至少sysout来控制添加到arraylist的值。如果没有任何内容添加到该arraylist,则将获得空arraylist,然后是空屏幕。我在方法Pr中将myData添加到dataTweets arraylistocess()。当我sysout时,它会在控制台中打印值。但是当我从另一个类sysout时,它只会打印[],这是我的arrayList为空的,对吗?@RohitJust请再次检查我的答案。我对它的外观有类定义。你也是这样做的吗?是的,我正按照你说的做。无论如何,方法进程()“这是一种无效的方法,是吗?”罗希特说