如何从不同类添加数据到Arraylist

时间:2017-12-08 09:55:57

标签: java arraylist q

我已经看到了他主题的所有其他问题,但我并没有真正从中得到很多。刚开始学习java所以请尽量为我解释。

如何添加我的Arraylist“Fish”呢?我甚至可以在同一个类中添加一些东西(第3行类问题)......但是我需要知道如何在不同的类中添加它。(我在类问题2的最后尝试过但它也没有用)

import java.util.ArrayList;

public class question {

    private String name;

    public ArrayList<String> Fish = new ArrayList<>();

    Fish.add(name); // <--- this for some reason doesnt work the point is red underlined as well as the ")"

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }

    public ArrayList<String> getFish() {
        return Fish;
    }
}

第二课

public class question2 {


    public String name;

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }

    // First try : question.getFish().add(nam1);
    // Second try   question.Fish.add(name1);
    //how do I add the name1 into my ArrayList "Fish".How can I transport my ArrayList from question1 to question2?
}

任何帮助将不胜感激,谢谢。

3 个答案:

答案 0 :(得分:0)

通过一些研究我发现了这个: http://www.guj.com.br/t/chamar-instancia-em-outra-classe/349765/6

检查awnser并通过调试运行代码,这样你就可以逐步看到正确或错误的内容。

希望它可以帮助你,如果不是,以后我可以为你做一个例子。

PS:如果您的第一个类只有一个构造函数,那么您不需要在那里创建数组,您可以在第二个类上调用构造函数并在那里创建数组。

答案 1 :(得分:0)

  

Fish.add(名称);

这里没有任何意义。这样的陈述必须在方法内。要访问字段“Fish”(顺便说一句:请遵守严格建议字段以小写字母开头的Java命名约定),首先需要一个“问题”的实例(这里再次:类以大写字母开头)信)。

  

私人字符串名称;

这个名字是什么?它是您的ArrayList的兄弟。

要向您的ArrayList添加鱼,我会使用以下内容:

public void addFish(String name) {
    Fish.add(name);
}

将该方法放入问题类。

关于你的第二课:如果他们在一个方法中并且你在问题2中有一个问题实例,那么两个尝试都会有效。我没有在这里看到问题2类的使用 - 但在问题2中添加鱼的一种可能性是:

public void addFish(question q, String name) {
    q.getFish().add(name);
}

我建议你通过一些不错的java教程。看来你对OOP缺乏一些基本的了解。我会从这里开始:https://docs.oracle.com/javase/tutorial/java/concepts/object.html https://docs.oracle.com/javase/tutorial/java/concepts/class.html

答案 2 :(得分:0)

您可能期望这样,我刚刚更新了您的源代码

只需复制粘贴,它应该可以工作:

&#13;
&#13;
import java.util.ArrayList;

class Question {

	private String name;

	public ArrayList<String> fish;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public ArrayList<String> getFish() {
		return fish;
	}

	public void setFish(ArrayList<String> fish) {
		this.fish = fish;
	}
	
	public void addToFish(String name) {
		
		if(this.fish == null){
			this.fish = new ArrayList<>();	
		}
		this.fish.add(name);	
	}
	
}
&#13;
&#13;
&#13;

&#13;
&#13;
public class Question2 {

	private String name;
	Question question = new Question();	

	public String getName() {
	    return name;
	}
	public void setName(String name) {
	    this.name = name;
	}

	
  public static void main(String[] args) {
		
		Question question = new Question();	
		question.addToFish("question1");
		question.addToFish("question2");
		question.addToFish("question3");
		question.addToFish("question4");
		
		for(String fish : question.getFish()){
			System.out.println(fish);
		}
	}
  
}
&#13;
&#13;
&#13;