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请再次检查我的答案。我对它的外观有类定义。你也是这样做的吗?是的,我正按照你说的做。无论如何,方法进程()“这是一种无效的方法,是吗?”罗希特说